Command Section

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

Command Section

man2web Home...