In glibc 2.32 sys_siglist is no longer exported. The MT-safe function
sigdescr_np() is now available for the same purpose.

Signed-off-by: Mike Pattrick <[email protected]>
---
 configure.ac  | 1 +
 lib/signals.c | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/configure.ac b/configure.ac
index 298ea85ab..a79109bda 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,6 +101,7 @@ OVS_CHECK_IF_DL
 OVS_CHECK_STRTOK_R
 OVS_CHECK_LINUX_AF_XDP
 AC_CHECK_DECLS([sys_siglist], [], [], [[#include <signal.h>]])
+AC_CHECK_FUNCS([sigdescr_np])
 AC_CHECK_DECLS([malloc_trim], [], [], [[#include <malloc.h>]])
 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec, struct stat.st_mtimensec],
   [], [], [[#include <sys/stat.h>]])
diff --git a/lib/signals.c b/lib/signals.c
index 70c53adc6..1b3a80783 100644
--- a/lib/signals.c
+++ b/lib/signals.c
@@ -56,6 +56,11 @@ signal_name(int signum, char *namebuf, size_t bufsize)
             return name;
         }
     }
+#elif HAVE_SIGDESCR_NP
+    const char *name = sigdescr_np(signum);
+    if (name) {
+        return name;
+    }
 #endif
 
     snprintf(namebuf, bufsize, "signal %d", signum);
-- 
2.27.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to