<div dir="ltr">Looks good to me. Thanks</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 1, 2013 at 11:25 AM, Ben Pfaff <span dir="ltr">&lt;<a href="mailto:blp@nicira.com" target="_blank">blp@nicira.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">strsignal() isn&#39;t thread-safety but sys_siglist[] is.  Also, according to<br>
the glibc manual, BSD has sys_siglist[] but not strsignal().<br>
<br>
Signed-off-by: Ben Pfaff &lt;<a href="mailto:blp@nicira.com">blp@nicira.com</a>&gt;<br>
---<br>
 <a href="http://configure.ac" target="_blank">configure.ac</a>  |    3 ++-<br>
 lib/signals.c |    8 ++++++--<br>
 2 files changed, 8 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/<a href="http://configure.ac" target="_blank">configure.ac</a> b/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
index 7af8afb..8364ea5 100644<br>
--- a/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
+++ b/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
@@ -58,9 +58,10 @@ OVS_CHECK_DOT<br>
 OVS_CHECK_IF_PACKET<br>
 OVS_CHECK_IF_DL<br>
 OVS_CHECK_STRTOK_R<br>
+AC_CHECK_DECLS([sys_siglist], [], [], [[#include &lt;signal.h&gt;]])<br>
 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec],<br>
   [], [], [[#include &lt;sys/stat.h&gt;]])<br>
-AC_CHECK_FUNCS([mlockall strnlen strsignal getloadavg statvfs setmntent])<br>
+AC_CHECK_FUNCS([mlockall strnlen getloadavg statvfs setmntent])<br>
 AC_CHECK_HEADERS([mntent.h sys/statvfs.h linux/types.h linux/if_ether.h])<br>
<br>
 OVS_CHECK_PKIDIR<br>
diff --git a/lib/signals.c b/lib/signals.c<br>
index 06c2e75..09e0e09 100644<br>
--- a/lib/signals.c<br>
+++ b/lib/signals.c<br>
@@ -147,9 +147,13 @@ const char *<br>
 signal_name(int signum)<br>
 {<br>
     const char *name = NULL;<br>
-#ifdef HAVE_STRSIGNAL<br>
-    name = strsignal(signum);<br>
+<br>
+#if HAVE_DECL_SYS_SIGLIST<br>
+    if (signum &gt;= 0 &amp;&amp; signum &lt; ARRAY_SIZE(sys_siglist)) {<br>
+        name = sys_siglist[signum];<br>
+    }<br>
 #endif<br>
+<br>
     if (!name) {<br>
         static char buffer[7 + INT_STRLEN(int) + 1];<br>
         sprintf(buffer, &quot;signal %d&quot;, signum);<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.2.5<br>
<br>
_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@openvswitch.org">dev@openvswitch.org</a><br>
<a href="http://openvswitch.org/mailman/listinfo/dev" target="_blank">http://openvswitch.org/mailman/listinfo/dev</a><br>
</font></span></blockquote></div><br></div>