MEDIUM: threads/signal: Add a lock to make signals thread-safe
A global lock has been added to protect the signal processing. So when a signal
it triggered, only one thread will catch it.
diff --git a/include/proto/signal.h b/include/proto/signal.h
index 6556446..084fa7d 100644
--- a/include/proto/signal.h
+++ b/include/proto/signal.h
@@ -13,6 +13,8 @@
#include <signal.h>
#include <common/standard.h>
+#include <common/hathreads.h>
+
#include <types/signal.h>
#include <types/task.h>
@@ -20,6 +22,10 @@
extern struct signal_descriptor signal_state[];
extern struct pool_head *pool2_sig_handlers;
+#ifdef USE_THREAD
+extern HA_SPINLOCK_T signals_lock;
+#endif
+
void signal_handler(int sig);
void __signal_process_queue();
int signal_init();