Module Name: src Committed By: riz Date: Thu Apr 12 17:05:38 UTC 2012
Modified Files: src/lib/libc/gen [netbsd-6]: posix_spawn_fileactions.c src/sys/compat/netbsd32 [netbsd-6]: netbsd32.h netbsd32_execve.c syscalls.master src/sys/kern [netbsd-6]: exec_elf.c kern_exec.c kern_exit.c src/sys/sys [netbsd-6]: exec.h spawn.h src/sys/uvm [netbsd-6]: uvm_extern.h uvm_glue.c uvm_map.c src/tests/lib/libc/gen/posix_spawn [netbsd-6]: t_fileactions.c Log Message: Pull up following revision(s) (requested by martin in ticket #175): sys/kern/kern_exit.c: revision 1.238 tests/lib/libc/gen/posix_spawn/t_fileactions.c: revision 1.4 tests/lib/libc/gen/posix_spawn/t_fileactions.c: revision 1.5 sys/uvm/uvm_extern.h: revision 1.183 lib/libc/gen/posix_spawn_fileactions.c: revision 1.2 sys/kern/kern_exec.c: revision 1.348 sys/kern/kern_exec.c: revision 1.349 sys/compat/netbsd32/syscalls.master: revision 1.95 sys/uvm/uvm_glue.c: revision 1.159 sys/uvm/uvm_map.c: revision 1.317 sys/compat/netbsd32/netbsd32.h: revision 1.95 sys/kern/exec_elf.c: revision 1.38 sys/sys/spawn.h: revision 1.2 sys/sys/exec.h: revision 1.135 sys/compat/netbsd32/netbsd32_execve.c: revision 1.34 Rework posix_spawn locking and memory management: - always provide a vmspace for the new proc, initially borrowing from proc0 (this part fixes PR 46286) - increase parallelism between parent and child if arguments allow this, avoiding a potential deadlock on exec_lock - add a new flag for userland to request old (lockstepped) behaviour for better error reporting - adapt test cases to the previous two and add a new variant to test the diagnostics flag - fix a few memory (and lock) leaks - provide netbsd32 compat Fix asynchronous posix_spawn child exit status (and test for it). To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.1.2.1 src/lib/libc/gen/posix_spawn_fileactions.c cvs rdiff -u -r1.92 -r1.92.2.1 src/sys/compat/netbsd32/netbsd32.h cvs rdiff -u -r1.33 -r1.33.2.1 src/sys/compat/netbsd32/netbsd32_execve.c cvs rdiff -u -r1.91 -r1.91.2.1 src/sys/compat/netbsd32/syscalls.master cvs rdiff -u -r1.37 -r1.37.2.1 src/sys/kern/exec_elf.c cvs rdiff -u -r1.339.2.3 -r1.339.2.4 src/sys/kern/kern_exec.c cvs rdiff -u -r1.236 -r1.236.2.1 src/sys/kern/kern_exit.c cvs rdiff -u -r1.134 -r1.134.2.1 src/sys/sys/exec.h cvs rdiff -u -r1.1 -r1.1.2.1 src/sys/sys/spawn.h cvs rdiff -u -r1.181 -r1.181.2.1 src/sys/uvm/uvm_extern.h cvs rdiff -u -r1.156.2.2 -r1.156.2.3 src/sys/uvm/uvm_glue.c cvs rdiff -u -r1.313.2.1 -r1.313.2.2 src/sys/uvm/uvm_map.c cvs rdiff -u -r1.2.2.1 -r1.2.2.2 \ 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.