X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=cleanup.c;h=ecb33220db942b9c0fa1c84dfc8c80149dfcb700;hb=3dcacadf03a7cf272f1618b981b08121504e131a;hp=32b997a5498e2de7c531738d2589e923ffe87783;hpb=aaa245280785370d9ed8424cb6e0a50fd7eb23da;p=onak.git diff --git a/cleanup.c b/cleanup.c index 32b997a..ecb3322 100644 --- a/cleanup.c +++ b/cleanup.c @@ -9,6 +9,7 @@ #include #include #include +#include #include "cleanup.h" #include "keydb.h" @@ -64,17 +65,13 @@ void sig_cleanup(int signal) */ void catchsignals(void) { - struct sigaction alarmh; - logthing(LOGTHING_INFO, "Catching signals"); - memset(&alarmh, 0, sizeof(alarmh)); - alarmh.sa_handler = sig_cleanup; - sigaction(SIGALRM, &alarmh, NULL); - sigaction(SIGPIPE, &alarmh, NULL); - sigaction(SIGTERM, &alarmh, NULL); - sigaction(SIGINT, &alarmh, NULL); - sigaction(SIGHUP, &alarmh, NULL); + signal(SIGALRM, &sig_cleanup); + signal(SIGPIPE, &sig_cleanup); + signal(SIGTERM, &sig_cleanup); + signal(SIGINT, &sig_cleanup); + signal(SIGHUP, &sig_cleanup); return; }