Remove the FreeSWITCH core handler for SIG_CHLD.

This does not appear to be needed any longer, and while this is in
place a dependent library that tries to start a child process will
hang waiting on the SIG_CHLD signal that the FreeSWITCH core 'ate'.

FS-7250 #resolve
This commit is contained in:
William King 2015-02-17 09:22:34 -08:00
parent 302a339fdf
commit f4a6e6e363
2 changed files with 0 additions and 37 deletions

View File

@ -90,24 +90,6 @@ static void handle_SIGILL(int sig)
return; return;
} }
#ifndef WIN32
static void handle_SIGCHLD(int sig)
{
int status = 0;
int pid = 0;
if (sig) {};
pid = wait(&status);
if (pid > 0) {
system_ready = -1;
}
return;
}
#endif
/* kill a freeswitch process running in background mode */ /* kill a freeswitch process running in background mode */
static int freeswitch_kill_background() static int freeswitch_kill_background()
{ {
@ -1088,8 +1070,6 @@ int main(int argc, char *argv[])
fprintf(stderr, "System Error!\n"); fprintf(stderr, "System Error!\n");
exit(-1); exit(-1);
} }
signal(SIGCHLD, handle_SIGCHLD);
} }
#endif #endif

View File

@ -1813,16 +1813,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switc
} }
#ifndef WIN32
static void handle_SIGCHLD(int sig)
{
int status = 0;
wait(&status);
return;
}
#endif
#ifdef TRAP_BUS #ifdef TRAP_BUS
static void handle_SIGBUS(int sig) static void handle_SIGBUS(int sig)
{ {
@ -2311,13 +2301,6 @@ SWITCH_DECLARE(void) switch_core_set_signal_handlers(void)
{ {
/* set signal handlers */ /* set signal handlers */
signal(SIGINT, SIG_IGN); signal(SIGINT, SIG_IGN);
#ifndef WIN32
if (switch_test_flag((&runtime), SCF_THREADED_SYSTEM_EXEC)) {
signal(SIGCHLD, SIG_DFL);
} else {
signal(SIGCHLD, handle_SIGCHLD);
}
#endif
#ifdef SIGPIPE #ifdef SIGPIPE
signal(SIGPIPE, SIG_IGN); signal(SIGPIPE, SIG_IGN);
#endif #endif