Author: jilles
Date: Sun Jul 15 11:18:52 2012
New Revision: 238477
URL: http://svn.freebsd.org/changeset/base/238477

Log:
  sh: Reset pendingsigs before checking pending traps, not after.
  
  Otherwise, a signal arriving at exactly the right moment might not be
  processed until another signal arrived.

Modified:
  head/bin/sh/trap.c

Modified: head/bin/sh/trap.c
==============================================================================
--- head/bin/sh/trap.c  Sun Jul 15 11:13:09 2012        (r238476)
+++ head/bin/sh/trap.c  Sun Jul 15 11:18:52 2012        (r238477)
@@ -416,6 +416,7 @@ dotrap(void)
 
        in_dotrap++;
        for (;;) {
+               pendingsigs = 0;
                for (i = 1; i < NSIG; i++) {
                        if (gotsig[i]) {
                                gotsig[i] = 0;
@@ -467,7 +468,6 @@ dotrap(void)
                        break;
        }
        in_dotrap--;
-       pendingsigs = 0;
 }
 
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to