Thanks for this! Regards, Bryan Drewery
> On Nov 7, 2015, at 17:41, Mark Johnston <ma...@freebsd.org> wrote: > > Author: markj > Date: Sun Nov 8 01:41:44 2015 > New Revision: 290531 > URL: https://svnweb.freebsd.org/changeset/base/290531 > > Log: > Add a manual page for PHOLD() and friends. > > MFC after: 1 week > > Added: > head/share/man/man9/PHOLD.9 (contents, props changed) > Modified: > head/share/man/man9/Makefile > > Modified: head/share/man/man9/Makefile > ============================================================================== > --- head/share/man/man9/Makefile Sun Nov 8 01:38:56 2015 (r290530) > +++ head/share/man/man9/Makefile Sun Nov 8 01:41:44 2015 (r290531) > @@ -209,6 +209,7 @@ MAN= accept_filter.9 \ > pfind.9 \ > pget.9 \ > pgfind.9 \ > + PHOLD.9 \ > physio.9 \ > pmap.9 \ > pmap_activate.9 \ > @@ -1314,6 +1315,11 @@ MLINKS+=pfil.9 pfil_add_hook.9 \ > pfil.9 pfil_wlock.9 \ > pfil.9 pfil_wunlock.9 > MLINKS+=pfind.9 zpfind.9 > +MLINKS+=PHOLD.9 PRELE.9 \ > + PHOLD.9 _PHOLD.9 \ > + PHOLD.9 _PRELE.9 \ > + PHOLD.9 PROC_ASSERT_HELD.9 \ > + PHOLD.9 PROC_ASSERT_NOT_HELD.9 > MLINKS+=pmap_copy.9 pmap_copy_page.9 > MLINKS+=pmap_extract.9 pmap_extract_and_hold.9 > MLINKS+=pmap_init.9 pmap_init2.9 > > Added: head/share/man/man9/PHOLD.9 > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/share/man/man9/PHOLD.9 Sun Nov 8 01:41:44 2015 (r290531) > @@ -0,0 +1,67 @@ > +.\" Copyright (c) 2015 Mark Johnston <ma...@freebsd.org> > +.\" > +.\" Redistribution and use in source and binary forms, with or without > +.\" modification, are permitted provided that the following conditions > +.\" are met: > +.\" 1. Redistributions of source code must retain the above copyright > +.\" notice, this list of conditions and the following disclaimer. > +.\" 2. Redistributions in binary form must reproduce the above copyright > +.\" notice, this list of conditions and the following disclaimer in the > +.\" documentation and/or other materials provided with the distribution. > +.\" > +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR > +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > +.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, > +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > +.\" > +.\" $FreeBSD$ > +.\" > +.Dd November 7, 2015 > +.Dt PHOLD 9 > +.Os > +.Sh NAME > +.Nm PHOLD > +.Nd hold a process > +.Sh SYNOPSIS > +.In sys/proc.h > +.Fn PHOLD "struct proc *p" > +.Fn _PHOLD "struct proc *p" > +.Fn PRELE "struct proc *p" > +.Fn _PRELE "struct proc *p" > +.Fn PROC_ASSERT_HELD "struct proc *p" > +.Fn PROC_ASSERT_NOT_HELD "struct proc *p" > +.Sh DESCRIPTION > +The > +.Fn PHOLD > +macro increments the hold count of a process, and the > +.Fn PRELE > +macro decrements the hold count of a process. > +.Pp > +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 > +.Dv 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. > +.Pp > +The > +.Fn _PHOLD > +and > +.Fn _PRELE > +macros are identical to > +.Fn PHOLD > +and > +.Fn PRELE , > +except that they must be called with the process lock held. > +.Sh AUTHORS > +This manual page was written by > +.An Mark Johnston Aq Mt ma...@freebsd.org . > _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"