BUILD: signals: FreeBSD has SI_LWP instead of SI_TKILL

SI_TKILL is for Linux. We're again in the non-portable area. Both OSes
use macros to define these values so we can #ifdef them. Let's make
SI_TKILL defined based on SI_LWP when only the latter is defined.
This commit is contained in:
Willy Tarreau 2019-05-23 08:40:50 +02:00
parent 02255b24df
commit f4c1e56b5e
1 changed files with 6 additions and 0 deletions

View File

@ -23,6 +23,7 @@
#define _COMMON_COMPAT_H #define _COMMON_COMPAT_H
#include <limits.h> #include <limits.h>
#include <signal.h>
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
/* This is needed on Linux for Netfilter includes */ /* This is needed on Linux for Netfilter includes */
@ -104,6 +105,11 @@ typedef struct { } empty_t;
#define F_SETPIPE_SZ (1024 + 7) #define F_SETPIPE_SZ (1024 + 7)
#endif #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
/* systems without such defines do not know clockid_t or timer_t */ /* systems without such defines do not know clockid_t or timer_t */
#if !(_POSIX_TIMERS > 0) #if !(_POSIX_TIMERS > 0)
#undef clockid_t #undef clockid_t