svn commit: r238477 - head/bin/sh

Jilles Tjoelker jilles at FreeBSD.org
Sun Jul 15 11:18:53 UTC 2012


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;
 }
 
 


More information about the svn-src-head mailing list