[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, select, updated. gawk-4.1.0-70-g2376c18

From: Andrew J. Schorr
Subject: [gawk-diffs] [SCM] gawk branch, select, updated. gawk-4.1.0-70-g2376c18
Date: Sun, 07 Jul 2013 13:03:31 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, select has been updated
       via  2376c18714fe197fbf56a19f8271e5f256ec7caf (commit)
      from  88b8c03a11e229b29cd985cabe51cb2ed3c24b55 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit 2376c18714fe197fbf56a19f8271e5f256ec7caf
Author: Andrew J. Schorr <address@hidden>
Date:   Sun Jul 7 08:58:10 2013 -0400

    In select extension, if lacking sigaction, reset signal handler each time a 
signal is trapped.

diff --git a/extension/ChangeLog b/extension/ChangeLog
index 4bfc64d..244940e 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,9 @@
+2013-07-07         Andrew J. Schorr     <address@hidden>
+       * select.c (signal_handler): On platforms lacking sigaction, reset
+       the signal handler each time a signal is trapped to protect in case
+       the system resets it to default.
 2013-07-05         Andrew J. Schorr     <address@hidden>
        * select.c (signal_result): New function to set result string from
diff --git a/extension/select.c b/extension/select.c
index 3bcef16..072a562 100644
--- a/extension/select.c
+++ b/extension/select.c
@@ -107,6 +107,15 @@ signal_handler(int signum)
        sigaddset(& caught.mask, signum);
        caught.flag = 1;
+       /*
+        * On platforms without sigaction, we do not know how the legacy
+        * signal API will behave.  There does not appear to be an autoconf
+        * test for whether the signal handler is reset to default each time
+        * a signal is trapped, so we do this to be safe.
+        */
+       signal(signum, signal_handler);
 static int


Summary of changes:
 extension/ChangeLog |    6 ++++++
 extension/select.c  |    9 +++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]