table of contents
PHOLD(9) | Kernel Developer's Manual | PHOLD(9) |
NAME¶
PHOLD
—
SYNOPSIS¶
#include <sys/proc.h>
PHOLD
(struct
proc *p);
_PHOLD
(struct
proc *p);
PRELE
(struct
proc *p);
_PRELE
(struct
proc *p);
PROC_ASSERT_HELD
(struct
proc *p);
PROC_ASSERT_NOT_HELD
(struct
proc *p);
DESCRIPTION¶
ThePHOLD
() macro increments the hold count of a
process, and the PRELE
() macro decrements the hold
count of a process.
If a process with a non-zero hold count attempts to exit, it will
sleep until its hold count has reached zero before the kernel begins
releasing resources associated with the process. Once a process has started
exiting, it is invalid to increase its hold count. Thus, callers must not
attempt to hold a process that has the P_WEXIT
flag
set. The VM daemon will not swap out the kernel stack of a thread belonging
to a process with a non-zero hold count.
The _PHOLD
() and
_PRELE
() macros are identical to
PHOLD
() and PRELE
(), except
that they must be called with the process lock held.
AUTHORS¶
This manual page was written by Mark Johnston <markj@FreeBSD.org>.November 7, 2015 | Linux 4.19.0-10-amd64 |