MINOR: wdt: Move the definitions of WDTSIG and DEBUGSIG into types/signal.h.
Move the definition of WDTSIG and DEBUGSIG from wdt.c and debug.c into
types/signal.h, so that we can access them in another file.
We need those definition to avoid blocking those signals when running
__signal_process_queue().
This should be backported to 2.1, 2.0 and 1.9.
(cherry picked from commit de01ea9878870dad5df1471743097851f53e7793)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit a27875ffb48725d277089b03c7e2e8380e4d5678)
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/include/types/signal.h b/include/types/signal.h
index 598001e..ec3dcf2 100644
--- a/include/types/signal.h
+++ b/include/types/signal.h
@@ -25,6 +25,26 @@
#define SIG_F_TYPE_FCT 0x0002 /* handler is a function + arg */
#define SIG_F_TYPE_TASK 0x0004 /* handler is a task + reason */
+/* Define WDTSIG if available */
+#if defined(USE_RT) && (_POSIX_TIMERS > 0) && defined(_POSIX_THREAD_CPUTIME)
+
+
+/* We'll deliver SIGALRM when we've run out of CPU as it's not intercepted by
+ * gdb by default.
+ */
+#define WDTSIG SIGALRM
+
+#endif
+
+#ifdef USE_THREAD_DUMP
+/* The signal to trigger a debug dump on a thread is SIGURG. It has the benefit
+ * of not stopping gdb by default, so that issuing "show threads" in a process
+ * being debugged has no adverse effect.
+ */
+#define DEBUGSIG SIGURG
+
+#endif
+
/* those are highly dynamic and stored in pools */
struct sig_handler {
struct list list;
diff --git a/src/debug.c b/src/debug.c
index 16b7b1d..dae12d6 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -23,6 +23,7 @@
#include <common/standard.h>
#include <types/global.h>
+#include <types/signal.h>
#include <proto/cli.h>
#include <proto/fd.h>
@@ -441,12 +442,6 @@
#else /* below USE_THREAD_DUMP is set */
-/* The signal to trigger a debug dump on a thread is SIGURG. It has the benefit
- * of not stopping gdb by default, so that issuing "show threads" in a process
- * being debugged has no adverse effect.
- */
-#define DEBUGSIG SIGURG
-
/* ID of the thread requesting the dump */
static unsigned int thread_dump_tid;
diff --git a/src/wdt.c b/src/wdt.c
index 876a5f0..1cfb2b6 100644
--- a/src/wdt.c
+++ b/src/wdt.c
@@ -18,6 +18,7 @@
#include <common/initcall.h>
#include <common/standard.h>
#include <types/global.h>
+#include <types/signal.h>
#include <proto/log.h>
@@ -27,11 +28,6 @@
*/
#if defined(USE_THREAD) && defined(USE_RT) && (_POSIX_TIMERS > 0) && defined(_POSIX_THREAD_CPUTIME)
-/* We'll deliver SIGALRM when we've run out of CPU as it's not intercepted by
- * gdb by default.
- */
-#define WDTSIG SIGALRM
-
/* Setup (or ping) the watchdog timer for thread <thr>. Returns non-zero on
* success, zero on failure. It interrupts once per second of CPU time. It
* happens that timers based on the CPU time are not automatically re-armed