/* If zero, don't detach from the terminal. */
bool do_detach = true;
-bool sighup = false;
bool sigalrm = false;
extern char *identname;
/* First check if there is a script */
- if(stat(scriptname + 1, &s))
+ if(stat(scriptname + 1, &s)) {
+ free(scriptname);
return true;
+ }
ifdebug(STATUS) logger(LOG_INFO, _("Executing script %s"), name);
}
}
-static RETSIGTYPE sighup_handler(int a)
-{
- logger(LOG_NOTICE, _("Got %s signal"), "HUP");
- sighup = true;
-}
-
static RETSIGTYPE sigint_handler(int a)
{
logger(LOG_NOTICE, _("Got %s signal"), "INT");
int signal;
void (*handler)(int);
} sighandlers[] = {
- {SIGHUP, sighup_handler},
{SIGTERM, sigterm_handler},
{SIGQUIT, sigquit_handler},
{SIGSEGV, fatal_signal_handler},
/* If we didn't detach, allow coredumps */
if(!do_detach)
- sighandlers[3].handler = SIG_DFL;
+ sighandlers[2].handler = SIG_DFL;
/* Then, for each known signal that we want to catch, assign a
handler to the signal, with error checking this time. */