aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-10 07:52:34 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-10 07:52:34 +0000
commit4f9031b890c6811e93212470a8ede812f8a9e9e5 (patch)
treec762e27fb7af1bc4910cde4344c9215695fc2f14 /main
parentca505aea6632ce46ba5e2a07f377b7ecec59fbb9 (diff)
Ensure restartable system calls can restart (BSD signal semantics)
This eliminates the annoying <beep> 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
Diffstat (limited to 'main')
-rw-r--r--main/asterisk.c4
-rw-r--r--main/logger.c1
2 files changed, 5 insertions, 0 deletions
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)