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;
|
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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue