summaryrefslogtreecommitdiffstats
path: root/rfc3195d.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2007-09-11 07:34:04 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2007-09-11 07:34:04 +0000
commit3142387c19602c242ca0bb03e0a1118048e76f74 (patch)
treebee7c4528a2ad1a54f6895919126f6a4258ddd89 /rfc3195d.c
parentd808cceebff701e5d6bb81be8414509d1381ddf9 (diff)
downloadrsyslog-3142387c19602c242ca0bb03e0a1118048e76f74.tar.gz
rsyslog-3142387c19602c242ca0bb03e0a1118048e76f74.tar.xz
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.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/rfc3195d.c b/rfc3195d.c
index ee7891be..2a06d699 100644
--- a/rfc3195d.c
+++ b/rfc3195d.c
@@ -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)
{