diff options
author | jhb <jhb@FreeBSD.org> | 2006-07-19 19:01:10 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2006-07-19 19:01:10 +0000 |
commit | 3d1ab82c4816a3893e91906910592cde15970307 (patch) | |
tree | 80e9e4eece9bdaa55e626dbde7b11ef6baff758e /usr.bin/uuencode | |
parent | 70424c0f306a3e1040c5ff78f5d0b2275689cbb9 (diff) | |
download | FreeBSD-src-3d1ab82c4816a3893e91906910592cde15970307.zip FreeBSD-src-3d1ab82c4816a3893e91906910592cde15970307.tar.gz |
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.
Diffstat (limited to 'usr.bin/uuencode')
0 files changed, 0 insertions, 0 deletions