diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2007-09-11 07:34:04 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2007-09-11 07:34:04 +0000 |
commit | 3142387c19602c242ca0bb03e0a1118048e76f74 (patch) | |
tree | bee7c4528a2ad1a54f6895919126f6a4258ddd89 /rfc3195d.c | |
parent | d808cceebff701e5d6bb81be8414509d1381ddf9 (diff) | |
download | rsyslog-3142387c19602c242ca0bb03e0a1118048e76f74.tar.gz rsyslog-3142387c19602c242ca0bb03e0a1118048e76f74.tar.bz2 rsyslog-3142387c19602c242ca0bb03e0a1118048e76f74.zip |
applied patch by varmojfekoj to change signal handling to the new sigaction
API set (replacing the depreciated signal() calls and its friends.
Diffstat (limited to 'rfc3195d.c')
-rw-r--r-- | rfc3195d.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -194,6 +194,7 @@ int main(int argc, char* argv[]) { srRetVal iRet; int ch; + struct sigaction_t sigAct; while ((ch = getopt(argc, argv, "di:np:r:v")) != EOF) switch((char)ch) { @@ -231,10 +232,17 @@ int main(int argc, char* argv[]) if ((argc -= optind)) usage(); + memset(&sigAct, 0, sizeof(sigAct)); + sigemptyset(&sigAct.sa_mask); + sigAct.sa_handler = doShutdown; + sigaction(SIGUSR1, &sigAct, NULL); + sigaction(SIGTERM, &sigAct, NULL); + if(!Debug) - signal(SIGINT, SIG_IGN); - signal(SIGUSR1, doShutdown); - signal(SIGTERM, doShutdown); + { + sigAct.sa_handler = SIG_IGN; + sigaction(SIGINT, &sigAct, NULL); + } if((pAPI = srAPIInitLib()) == NULL) { |