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 |