From 4f9031b890c6811e93212470a8ede812f8a9e9e5 Mon Sep 17 00:00:00 2001 From: tilghman Date: Thu, 10 Jun 2010 07:52:34 +0000 Subject: Ensure restartable system calls can restart (BSD signal semantics) This eliminates the annoying on the console. (closes issue #17477) Reported by: jvandal Patches: 20100610__issue17477.diff.txt uploaded by tilghman (license 14) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@269635 f38db490-d61c-443f-a65b-d21fe96a405b --- main/asterisk.c | 4 ++++ main/logger.c | 1 + 2 files changed, 5 insertions(+) diff --git a/main/asterisk.c b/main/asterisk.c index 0e1306fd8..db8271735 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -767,6 +767,7 @@ static void _null_sig_handler(int signal) static struct sigaction null_sig_handler = { .sa_handler = _null_sig_handler, + .sa_flags = SA_RESTART, }; AST_MUTEX_DEFINE_STATIC(safe_system_lock); @@ -1166,6 +1167,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) @@ -1185,6 +1187,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) @@ -1203,6 +1206,7 @@ static void _child_handler(int sig) static struct sigaction child_handler = { .sa_handler = _child_handler, + .sa_flags = SA_RESTART, }; /*! \brief Set an X-term or screen title */ diff --git a/main/logger.c b/main/logger.c index c0df0d00c..741ffb96a 100644 --- a/main/logger.c +++ b/main/logger.c @@ -584,6 +584,7 @@ static void _handle_SIGXFSZ(int sig) static struct sigaction handle_SIGXFSZ = { .sa_handler = _handle_SIGXFSZ, + .sa_flags = SA_RESTART, }; int init_logger(void) -- cgit v1.2.3