_PHOLD(9FREEBSD) - Linux man page online | System kernel interfaces

Hold a process.

November 7, 2015
PHOLD(9) BSD 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 <>.
BSD November 7, 2015 BSD
This manual Reference Other manuals
_PHOLD(9freebsd) referred by
refer to PHOLD(9freebsd)
Download raw manual
Index BSD Kernel Developer's Manual (+1909) BSD (+3984) № 9 (+1939)
Go top