]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
Use sigaction() instead of signal()
authormmj <none@none>
Mon, 2 May 2005 19:29:55 +0000 (05:29 +1000)
committermmj <none@none>
Mon, 2 May 2005 19:29:55 +0000 (05:29 +1000)
src/mlmmj-send.c

index d5d9401a66a355d04f9be60f74df3c6e308ee54e..fc800822ab2ddd26a8a5bb09fabc178842779b9b 100644 (file)
@@ -644,6 +644,7 @@ int main(int argc, char **argv)
        uid_t uid;
        struct strlist stl;
        unsigned short smtpport = 25;
+       struct sigaction sigact;
 
        CHECKFULLPATH(argv[0]);
        
@@ -654,7 +655,10 @@ int main(int argc, char **argv)
        myfree(bindir);
        
        /* install signal handler for SIGTERM */
-       if(signal(SIGTERM, catch_sig_term) == SIG_ERR)
+       sigact.sa_handler = catch_sig_term;
+       sigact.sa_flags = 0;
+       sigemptyset(&sigact.sa_mask);
+       if(sigaction(SIGTERM, &sigact, NULL) < 0)
                log_error(LOG_ARGS, "Could not install SIGTERM handler!");
 
        while ((opt = getopt(argc, argv, "aVDhm:l:L:R:F:T:r:s:")) != -1){