Merged revisions 269635 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Thu, 10 Jun 2010 08:15:45 +0000 (08:15 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Thu, 10 Jun 2010 08:15:45 +0000 (08:15 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r269635 | tilghman | 2010-06-10 02:52:34 -0500 (Thu, 10 Jun 2010) | 9 lines

  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: https://origsvn.digium.com/svn/asterisk/trunk@269636 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c
main/logger.c
utils/extconf.c

index 1e13729..66967f5 100644 (file)
@@ -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 */
index fa57a05..53b7bb3 100644 (file)
@@ -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)
index 9921267..22df962 100644 (file)
@@ -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);