CLEANUP: wdt: do not remap SI_TKILL to SI_LWP, test the values directly
We used to remap SI_TKILL to SI_LWP when SI_TKILL was not available
(e.g. FreeBSD) but that's ugly and since we need this only in a single
switch/case block in wdt.c it's even simpler and cleaner to perform the
two tests there, so let's do this.
diff --git a/include/haproxy/compat.h b/include/haproxy/compat.h
index edcbcd5..25b15a1 100644
--- a/include/haproxy/compat.h
+++ b/include/haproxy/compat.h
@@ -23,7 +23,6 @@
#define _HAPROXY_COMPAT_H
#include <limits.h>
-#include <signal.h>
#include <unistd.h>
/* This is needed on Linux for Netfilter includes */
#include <sys/param.h>
@@ -154,11 +153,6 @@
#define F_SETPIPE_SZ (1024 + 7)
#endif
-/* On FreeBSD we don't have SI_TKILL but SI_LWP instead */
-#if !defined(SI_TKILL) && defined(SI_LWP)
-#define SI_TKILL SI_LWP
-#endif
-
#if defined(USE_TPROXY) && defined(USE_NETFILTER)
#include <linux/types.h>
#include <linux/netfilter_ipv6.h>
diff --git a/src/wdt.c b/src/wdt.c
index d1428a5..96db84b 100644
--- a/src/wdt.c
+++ b/src/wdt.c
@@ -104,11 +104,21 @@
/* No doubt now, there's no hop to recover, die loudly! */
break;
-#ifdef USE_THREAD
+
+#if defined(USE_THREAD) && defined(SI_TKILL) /* Linux uses this */
+
case SI_TKILL:
/* we got a pthread_kill, stop on it */
thr = tid;
break;
+
+#elif defined(USE_THREAD) && defined(SI_LWP) /* FreeBSD uses this */
+
+ case SI_LWP:
+ /* we got a pthread_kill, stop on it */
+ thr = tid;
+ break;
+
#endif
default:
/* unhandled other conditions */