Browse Source

Remove SIGCHILD handle in OS_Unix, interferes with pclose()

Juan Linietsky 6 years ago
parent
commit
65f3a953de
1 changed files with 0 additions and 17 deletions
  1. 0 17
      drivers/unix/os_unix.cpp

+ 0 - 17
drivers/unix/os_unix.cpp

@@ -119,15 +119,6 @@ int OS_Unix::unix_initialize_audio(int p_audio_driver) {
 	return 0;
 	return 0;
 }
 }
 
 
-// Very simple signal handler to reap processes where ::execute was called with
-// !p_blocking
-void handle_sigchld(int sig) {
-	int saved_errno = errno;
-	while (waitpid((pid_t)(-1), 0, WNOHANG) > 0) {
-	}
-	errno = saved_errno;
-}
-
 void OS_Unix::initialize_core() {
 void OS_Unix::initialize_core() {
 
 
 #ifdef NO_THREADS
 #ifdef NO_THREADS
@@ -155,14 +146,6 @@ void OS_Unix::initialize_core() {
 #endif
 #endif
 
 
 	_setup_clock();
 	_setup_clock();
-
-	struct sigaction sa;
-	sa.sa_handler = &handle_sigchld;
-	sigemptyset(&sa.sa_mask);
-	sa.sa_flags = SA_RESTART | SA_NOCLDSTOP;
-	if (sigaction(SIGCHLD, &sa, 0) == -1) {
-		perror("ERROR sigaction() failed:");
-	}
 }
 }
 
 
 void OS_Unix::finalize_core() {
 void OS_Unix::finalize_core() {