exit1(): update comment about thread_single()
We do not check single-threading conditions in trap, or when sleeping uninterruptible. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D36207
This commit is contained in:
parent
f835be5822
commit
30b16a6bcf
@ -276,16 +276,15 @@ exit1(struct thread *td, int rval, int signo)
|
||||
* Kill off the other threads. This requires
|
||||
* some co-operation from other parts of the kernel
|
||||
* so it may not be instantaneous. With this state set
|
||||
* any thread entering the kernel from userspace will
|
||||
* thread_exit() in trap(). Any thread attempting to
|
||||
* any thread attempting to interruptibly
|
||||
* sleep will return immediately with EINTR or EWOULDBLOCK
|
||||
* which will hopefully force them to back out to userland
|
||||
* freeing resources as they go. Any thread attempting
|
||||
* to return to userland will thread_exit() from userret().
|
||||
* to return to userland will thread_exit() from ast().
|
||||
* thread_exit() will unsuspend us when the last of the
|
||||
* other threads exits.
|
||||
* If there is already a thread singler after resumption,
|
||||
* calling thread_single will fail; in that case, we just
|
||||
* calling thread_single() will fail; in that case, we just
|
||||
* re-check all suspension request, the thread should
|
||||
* either be suspended there or exit.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user