From: Willy Tarreau Date: Fri, 8 Oct 2021 13:31:04 +0000 (+0200) Subject: CLEANUP: wdt: do not remap SI_TKILL to SI_LWP, test the values directly X-Git-Tag: v2.5-dev9~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6414e4423c03dbc07cba97560d390c9c98e390ff;p=thirdparty%2Fhaproxy.git 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 edcbcd50e0..25b15a1f0f 100644 --- a/include/haproxy/compat.h +++ b/include/haproxy/compat.h @@ -23,7 +23,6 @@ #define _HAPROXY_COMPAT_H #include -#include #include /* This is needed on Linux for Netfilter includes */ #include @@ -154,11 +153,6 @@ typedef struct { } empty_t; #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 #include diff --git a/src/wdt.c b/src/wdt.c index d1428a5562..96db84bd9b 100644 --- a/src/wdt.c +++ b/src/wdt.c @@ -104,11 +104,21 @@ void wdt_handler(int sig, siginfo_t *si, void *arg) /* 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 */