diff --git a/asterisk.c b/asterisk.c index b2ce56ea10fe34c126ab1b2b31eb7187b884c098..d9d4426e563a15cbfc185016ca13de59b3fc1fa9 100755 --- a/asterisk.c +++ b/asterisk.c @@ -654,6 +654,7 @@ static void hup_handler(int num) execvp(_argv[0], _argv); /* XXX This could deadlock XXX */ ast_module_reload(NULL); + signal(num, hup_handler); } static void child_handler(int sig) @@ -668,6 +669,7 @@ static void child_handler(int sig) ; if (n == 0 && option_debug) printf("Huh? Child handler, but nobody there?\n"); + signal(sig, child_handler); } static void set_title(char *text)