From: Willy Tarreau Date: Fri, 1 May 2015 16:29:09 +0000 (+0200) Subject: MINOR: peers: store the pointer to the signal handler X-Git-Tag: v1.6-dev2~156 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa729784e1c0a6a9ac003210d01c605962110522;p=thirdparty%2Fhaproxy.git 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 8b7712abd7..fbe2506c8a 100644 --- a/include/types/peers.h +++ b/include/types/peers.h @@ -57,6 +57,7 @@ struct peer_session { 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 d637e88d6e..d39898a574 100644 --- a/src/peers.c +++ b/src/peers.c @@ -1393,8 +1393,8 @@ void peers_register_table(struct peers *peers, struct stktable *table) 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); }