diff options
author | Roy Marples <roy@marples.name> | 2007-04-09 17:11:18 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2007-04-09 17:11:18 +0000 |
commit | 89ac4eee26d07f9e62dcc518d386551e8eef40ad (patch) | |
tree | 06e2513cc2a6d17b4351995779e56dde9c31c752 /src/rc.c | |
parent | 3c7c1736b7d6b6d086e9c5b54b963f8e244e3418 (diff) |
rc does not need SIGCHLD handler. Also, always return 0 in /etc/rc as non zero for default may freeze system.
Diffstat (limited to 'src/rc.c')
-rw-r--r-- | src/rc.c | 16 |
1 files changed, 0 insertions, 16 deletions
@@ -458,26 +458,11 @@ static void wait_for_services () static void handle_signal (int sig) { - pid_t pid; - int status; int serrno = errno; char signame[10] = { '\0' }; switch (sig) { - case SIGCHLD: - do - { - pid = waitpid (-1, &status, WNOHANG); - if (pid < 0) - { - if (errno && errno != ECHILD) - eerror ("waitpid: %s", strerror (errno)); - return; - } - } while (! WIFEXITED (status) && ! WIFSIGNALED (status)); - break; - case SIGINT: if (! signame[0]) snprintf (signame, sizeof (signame), "SIGINT"); @@ -557,7 +542,6 @@ int main (int argc, char **argv) signal (SIGINT, handle_signal); signal (SIGQUIT, handle_signal); signal (SIGTERM, handle_signal); - signal (SIGCHLD, handle_signal); /* Ensure our environment is pure Also, add our configuration to it */ |