diff --git a/main/asterisk.c b/main/asterisk.c index 1e13729c1c..66967f515f 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -981,6 +981,7 @@ static void _null_sig_handler(int sig) static struct sigaction null_sig_handler = { .sa_handler = _null_sig_handler, + .sa_flags = SA_RESTART, }; static struct sigaction ignore_sig_handler = { @@ -1458,6 +1459,7 @@ static void _urg_handler(int num) static struct sigaction urg_handler = { .sa_handler = _urg_handler, + .sa_flags = SA_RESTART, }; static void _hup_handler(int num) @@ -1477,6 +1479,7 @@ static void _hup_handler(int num) static struct sigaction hup_handler = { .sa_handler = _hup_handler, + .sa_flags = SA_RESTART, }; static void _child_handler(int sig) @@ -1495,6 +1498,7 @@ static void _child_handler(int sig) static struct sigaction child_handler = { .sa_handler = _child_handler, + .sa_flags = SA_RESTART, }; /*! \brief Set maximum open files */ diff --git a/main/logger.c b/main/logger.c index fa57a05633..53b7bb3dff 100644 --- a/main/logger.c +++ b/main/logger.c @@ -764,6 +764,7 @@ static void _handle_SIGXFSZ(int sig) static struct sigaction handle_SIGXFSZ = { .sa_handler = _handle_SIGXFSZ, + .sa_flags = SA_RESTART, }; static void ast_log_vsyslog(struct logmsg *msg) diff --git a/utils/extconf.c b/utils/extconf.c index 992126728d..22df962e7e 100644 --- a/utils/extconf.c +++ b/utils/extconf.c @@ -1269,6 +1269,7 @@ static void _null_sig_handler(int sig) static struct sigaction null_sig_handler = { .sa_handler = _null_sig_handler, + .sa_flags = SA_RESTART, }; void ast_replace_sigchld(void);