PHOLD(9) FreeBSD Kernel Developer's Manual PHOLD(9)
NAME
PHOLD - hold a process
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
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.
AUTHORS
This manual page was written by Mark Johnston <markj@FreeBSD.org>.
FreeBSD 13.1-RELEASE-p6 November 7, 2015 FreeBSD 13.1-RELEASE-p6
man2web Home...