MINOR: peers: store the pointer to the signal handler
We'll need it to unregister stopped peers sections.
diff --git a/include/types/peers.h b/include/types/peers.h
index 8b7712a..fbe2506 100644
--- a/include/types/peers.h
+++ b/include/types/peers.h
@@ -57,6 +57,7 @@
struct shared_table {
struct stktable *table; /* stick table to sync */
struct task *sync_task; /* main sync task */
+ struct sig_handler *sighandler; /* signal handler */
struct peer_session *local_session; /* local peer session */
struct peer_session *sessions; /* peer sessions list */
unsigned int flags; /* current table resync state */
diff --git a/src/peers.c b/src/peers.c
index d637e88..d39898a 100644
--- a/src/peers.c
+++ b/src/peers.c
@@ -1393,8 +1393,8 @@
st->sync_task->process = process_peer_sync;
st->sync_task->expire = TICK_ETERNITY;
st->sync_task->context = (void *)st;
- table->sync_task =st->sync_task;
- signal_register_task(0, table->sync_task, 0);
+ table->sync_task = st->sync_task;
+ st->sighandler = signal_register_task(0, table->sync_task, 0);
task_wakeup(st->sync_task, TASK_WOKEN_INIT);
}