Browse Source

posix_spawn: honor POSIX_SPAWN_SETSIGDEF flag

Rich Felker 13 years ago
parent
commit
d6c0c97846
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/process/posix_spawn.c

+ 3 - 1
src/process/posix_spawn.c

@@ -31,7 +31,9 @@ int __posix_spawnx(pid_t *res, const char *path,
 	for (i=1; i<=64; i++) {
 		struct sigaction sa;
 		sigaction(i, 0, &sa);
-		if (sa.sa_handler!=SIG_IGN || sigismember(&attr->__def, i)) {
+		if (sa.sa_handler!=SIG_IGN ||
+		    ((attr->__flags & POSIX_SPAWN_SETSIGDEF)
+		     && sigismember(&attr->__def, i) )) {
 			sa.sa_handler = SIG_DFL;
 			sigaction(i, &sa, 0);
 		}