On reload, destroy signal pipes before recreating them.
authorVincent Bernat <bernat@luffy.cx>
Sat, 13 Feb 2010 17:20:17 +0000 (17:20 +0000)
committerAlexandre Cassen <acassen@freebox.fr>
Thu, 6 May 2010 13:07:46 +0000 (15:07 +0200)
Signal pipes were recreated through check/vrrp_signal_init() while
they were not destroyed. This means that after each reload, we get a
couple of unused pipes in keepalived.

keepalived/check/check_daemon.c
keepalived/vrrp/vrrp_daemon.c

index f4004f7..5f0e27d 100644 (file)
@@ -170,10 +170,7 @@ reload_check_thread(thread * thread_obj)
 
        /* Signals handling */
        signal_reset();
-       signal_set(SIGHUP, sighup_check, NULL);
-       signal_set(SIGINT, sigend_check, NULL);
-       signal_set(SIGTERM, sigend_check, NULL);
-       signal_ignore(SIGPIPE);
+       signal_handler_destroy();
 
        /* Destroy master thread */
        thread_destroy_master(master);
index 6e731ff..fd55723 100644 (file)
@@ -187,10 +187,7 @@ reload_vrrp_thread(thread * thread_obj)
 
        /* Signal handling */
        signal_reset();
-       signal_set(SIGHUP, sighup_vrrp, NULL);
-       signal_set(SIGINT, sigend_vrrp, NULL);
-       signal_set(SIGTERM, sigend_vrrp, NULL);
-       signal_ignore(SIGPIPE);
+       signal_handler_destroy();
 
        /* Destroy master thread */
        thread_destroy_master(master);