From 4d54ec7898bd951007cb6122d5315584bd41d0c4 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 9 Mar 2011 18:21:10 +0100 Subject: add a service to reap zombies, use it in SLIRP SLIRP -smb support wants to fork a process and forget about reaping it. To please it, add a generic service to register a process id and let QEMU reap it. In the future it could be enhanced to pass a status, but this would be unused. With this in place, the SIGCHLD signal handler would not stomp on pclose anymore. Signed-off-by: Paolo Bonzini Signed-off-by: Anthony Liguori --- os-posix.c | 9 --------- 1 file changed, 9 deletions(-) (limited to 'os-posix.c') diff --git a/os-posix.c b/os-posix.c index eb49e2f..3204197 100644 --- a/os-posix.c +++ b/os-posix.c @@ -67,11 +67,6 @@ static void termsig_handler(int signal, siginfo_t *info, void *c) qemu_system_killed(info->si_signo, info->si_pid); } -static void sigchld_handler(int signal) -{ - waitpid(-1, NULL, WNOHANG); -} - void os_setup_signal_handling(void) { struct sigaction act; @@ -82,10 +77,6 @@ void os_setup_signal_handling(void) sigaction(SIGINT, &act, NULL); sigaction(SIGHUP, &act, NULL); sigaction(SIGTERM, &act, NULL); - - act.sa_handler = sigchld_handler; - act.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD, &act, NULL); } /* Find a likely location for support files using the location of the binary. -- cgit v1.1