Crossplatformity: Fixed signal(2) reinstall after the signal occured
authorshort <>
Thu, 19 Apr 2001 17:31:31 +0000 (17:31 +0000)
committershort <>
Thu, 19 Apr 2001 17:31:31 +0000 (17:31 +0000)
mdsms.c

diff --git a/mdsms.c b/mdsms.c
index 03f391f..711aee3 100644 (file)
--- a/mdsms.c
+++ b/mdsms.c
@@ -1638,6 +1638,9 @@ static void signal_chld(int signo)
 int status;
 pid_t pid;
 
+       signal(SIGCHLD,(RETSIGTYPE (*)(int))signal_chld);
+       /* we don't care about siginterrupt(3) as it doesn't matter how it is set */
+
        d2("signal_chld: signo=%d\n",signo);
        while (0<(pid=waitpid(-1 /* ANY process */,&status,WNOHANG /* options */))) {
                if (verbose>=2)
@@ -1655,7 +1658,7 @@ int i;
 FILE *f;
 
        d2("receive_text: %s\n",bodyline);
-       signal(SIGCHLD,signal_chld);
+       signal(SIGCHLD,(RETSIGTYPE (*)(int))signal_chld);
 #if RECEIVE_TEST
        pid=0;
 #else