PHOLD(9) | Kernel Developer's Manual | PHOLD(9) |
PHOLD
— hold a
process
#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);
The
PHOLD
()
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.
This manual page was written by Mark Johnston <markj@FreeBSD.org>.
November 7, 2015 | Debian |