cvs commit: src/sys/compat/svr4 svr4_misc.c syscalls.master
John Baldwin
jhb at FreeBSD.org
Wed Jul 19 19:01:11 UTC 2006
jhb 2006-07-19 19:01:10 UTC
FreeBSD src repository
Modified files:
sys/compat/svr4 svr4_misc.c syscalls.master
Log:
Make svr4_sys_waitsys() a lot less ugly and mark it MPSAFE.
- If the WNOWAIT flag isn't specified and either of WEXITED or WTRAPPED is
set, then just call kern_wait() and let it do all the work. This means
that this function no longer has to duplicate the work to teardown
zombies that is done in kern_wait(). Instead, if the above conditions
aren't true, then it uses a simpler loop to implement WNOWAIT and/or
tracing for only stopped or continued processes. This function still
has to duplicate code from kern_wait() for the latter two cases, but
those are much simpler.
- Sync the code to handle the WCONTINUED and WSTOPPED cases with the
equivalent code in kern_wait().
- Fix several places that would return with the proctree lock still held.
- Lock the current process to prevent lost wakeup races when blocking.
Revision Changes Path
1.87 +148 -154 src/sys/compat/svr4/svr4_misc.c
1.24 +1 -1 src/sys/compat/svr4/syscalls.master
More information about the cvs-src
mailing list