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.
#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>
#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>
/* 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 */