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:
parent
302a339fdf
commit
f4a6e6e363
20
src/switch.c
20
src/switch.c
|
@ -90,24 +90,6 @@ static void handle_SIGILL(int sig)
|
|||
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 */
|
||||
static int freeswitch_kill_background()
|
||||
{
|
||||
|
@ -1088,8 +1070,6 @@ int main(int argc, char *argv[])
|
|||
fprintf(stderr, "System Error!\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
signal(SIGCHLD, handle_SIGCHLD);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -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
|
||||
static void handle_SIGBUS(int sig)
|
||||
{
|
||||
|
@ -2311,13 +2301,6 @@ SWITCH_DECLARE(void) switch_core_set_signal_handlers(void)
|
|||
{
|
||||
/* set signal handlers */
|
||||
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
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue