break;
#ifdef DEBUG
case SIGUSR2:
- if (NGIRCd_Debug)
+ if (NGIRCd_Debug) {
+ Log(LOG_INFO|LOG_snotice,
+ "Got SIGUSR2, dumping internal state ...");
Dump_State();
+ }
break;
default:
Log(LOG_DEBUG, "Got signal %d! Ignored.", Signal);
(void) what;
do {
- ret = read(fd, &sig, sizeof(sig));
+ ret = (int)read(fd, &sig, sizeof(sig));
if (ret == sizeof(int))
Signal_Handler_BH(sig);
} while (ret == sizeof(int));
sigaction(SIGPIPE, &saction, NULL);
#else
for (i=0; i < C_ARRAY_SIZE(signals_catch) ; i++)
- sigaction(signals_catch[i], &saction, NULL);
+ signal(signals_catch[i], SIG_DFL);
signal(SIGPIPE, SIG_DFL);
#endif
close(signalpipe[1]);
close(signalpipe[0]);
+ signalpipe[0] = signalpipe[1] = 0;
}
/* -eof- */