tail head cat sleep
QR code linking to this page

Manual Pages  — PHOLD

NAME

PHOLD – hold a process

CONTENTS

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 <Mt markj@FreeBSD.org>.

PHOLD (9) November 7, 2015

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

“ Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the other numerous idiot lights which plague the modern driver. Rather, if the driver makes a mistake, a giant “?” lights up in the center of the dashboard. “The experienced driver,” says Thompson, “will usually know what's wrong.” ”