Module Name: src
Committed By: martin
Date: Mon Apr 9 19:42:07 UTC 2012
Modified Files:
src/sys/kern: kern_exec.c
src/tests/lib/libc/gen/posix_spawn: t_fileactions.c
Log Message:
Fix asynchronous posix_spawn child exit status (and test for it).
To generate a diff of this commit:
cvs rdiff -u -r1.348 -r1.349 src/sys/kern/kern_exec.c
cvs rdiff -u -r1.4 -r1.5 src/tests/lib/libc/gen/posix_spawn/t_fileactions.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/kern_exec.c
diff -u src/sys/kern/kern_exec.c:1.348 src/sys/kern/kern_exec.c:1.349
--- src/sys/kern/kern_exec.c:1.348 Sun Apr 8 11:27:44 2012
+++ src/sys/kern/kern_exec.c Mon Apr 9 19:42:06 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_exec.c,v 1.348 2012/04/08 11:27:44 martin Exp $ */
+/* $NetBSD: kern_exec.c,v 1.349 2012/04/09 19:42:06 martin Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.348 2012/04/08 11:27:44 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.349 2012/04/09 19:42:06 martin Exp $");
#include "opt_exec.h"
#include "opt_ktrace.h"
@@ -2003,7 +2003,7 @@ spawn_return(void *arg)
* A NetBSD specific workaround is POSIX_SPAWN_RETURNERROR as
* flag bit in the attrp argument to posix_spawn(2), see above.
*/
- exit1(l, W_EXITCODE(127, SIGABRT));
+ exit1(l, W_EXITCODE(127, 0));
}
void
Index: src/tests/lib/libc/gen/posix_spawn/t_fileactions.c
diff -u src/tests/lib/libc/gen/posix_spawn/t_fileactions.c:1.4 src/tests/lib/libc/gen/posix_spawn/t_fileactions.c:1.5
--- src/tests/lib/libc/gen/posix_spawn/t_fileactions.c:1.4 Sun Apr 8 11:27:46 2012
+++ src/tests/lib/libc/gen/posix_spawn/t_fileactions.c Mon Apr 9 19:42:07 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: t_fileactions.c,v 1.4 2012/04/08 11:27:46 martin Exp $ */
+/* $NetBSD: t_fileactions.c,v 1.5 2012/04/09 19:42:07 martin Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -237,8 +237,7 @@ ATF_TC_BODY(t_spawn_open_nonexistent, tc
* return exit code 127
*/
waitpid(pid, &status, 0);
- ATF_REQUIRE(WEXITSTATUS(status) == 127);
-
+ ATF_REQUIRE(WIFEXITED(status) && WEXITSTATUS(status) == 127);
} else {
/*
* The error has been noticed early enough, no child has