Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Jul 2012 11:18:52 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r238477 - head/bin/sh
Message-ID:  <201207151118.q6FBIqV3044355@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 }
 
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207151118.q6FBIqV3044355>