libc: document posix_spawnattr_{get,set}procdescp_np(3)

Reviewed by:	asomers
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54899
This commit is contained in:
Konstantin Belousov
2026-01-26 22:06:44 +02:00
parent 6253212608
commit 77c5f29453
3 changed files with 98 additions and 0 deletions
+2
View File
@@ -277,6 +277,7 @@ MAN+= alarm.3 \
posix_spawnattr_getexecfd_np.3 \
posix_spawnattr_getflags.3 \
posix_spawnattr_getpgroup.3 \
posix_spawnattr_getprocdescp_np.3 \
posix_spawnattr_getschedparam.3 \
posix_spawnattr_getschedpolicy.3 \
posix_spawnattr_init.3 \
@@ -472,6 +473,7 @@ MLINKS+=posix_spawn.3 posix_spawnp.3 \
posix_spawnattr_getflags.3 posix_spawnattr_setflags.3 \
posix_spawnattr_getexecfd_np.3 posix_spawnattr_setexecfd_np.3 \
posix_spawnattr_getpgroup.3 posix_spawnattr_setpgroup.3 \
posix_spawnattr_getprocdescp_np.3 posix_spawnattr_setprocdescp_np.3 \
posix_spawnattr_getschedparam.3 posix_spawnattr_setschedparam.3 \
posix_spawnattr_getschedpolicy.3 posix_spawnattr_setschedpolicy.3 \
posix_spawnattr_getsigdefault.3 posix_spawnattr_setsigdefault.3 \
+2
View File
@@ -458,6 +458,7 @@ action.
.Xr posix_spawnattr_getexecfd_np 3 ,
.Xr posix_spawnattr_getflags 3 ,
.Xr posix_spawnattr_getpgroup 3 ,
.Xr posix_spawnattr_getprocdescp_np 3 ,
.Xr posix_spawnattr_getschedparam 3 ,
.Xr posix_spawnattr_getschedpolicy 3 ,
.Xr posix_spawnattr_getsigdefault 3 ,
@@ -466,6 +467,7 @@ action.
.Xr posix_spawnattr_setexecfd_np 3 ,
.Xr posix_spawnattr_setflags 3 ,
.Xr posix_spawnattr_setpgroup 3 ,
.Xr posix_spawnattr_setprocdescp_np 3,
.Xr posix_spawnattr_setschedparam 3 ,
.Xr posix_spawnattr_setschedpolicy 3 ,
.Xr posix_spawnattr_setsigdefault 3 ,
@@ -0,0 +1,94 @@
.\" Copyright 2026 The FreeBSD Foundation
.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" This documentation was written by
.\" Konstantin Belousov <kib@FreeBSD.org> under sponsorship
.\" from the FreeBSD Foundation.
.\"
.Dd January 26, 2026
.Dt POSIX_SPAWNATTR_GETPROCDESCP_NP 3
.Os
.Sh NAME
.Nm posix_spawnattr_getprocdesp_np ,
.Nm posix_spawnattr_setprocdescp_np
.Nd "get and set the spawn-procdescp attribute of a spawn attributes object"
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In spawn.h
.Ft int
.Fo posix_spawnattr_getprocdescp_np
.Fa "const posix_spawnattr_t *restrict attr"
.Fa "int **restrict fdpp"
.Fa "int *restrict pdrflagsp"
.Fc
.Ft int
.Fo posix_spawnattr_setprocdescp_np
.Fa "posix_spawnattr_t *attr"
.Fa "int *restrict fdp"
.Fa "int pdrflags"
.Fc
.Sh DESCRIPTION
The
.Fn posix_spawnattr_getprocdescp_np
function obtains the value of the spawn-procdescp attribute from the
attributes object referenced by
.Fa attr .
.Pp
The
.Fn posix_spawnattr_procdescp_np
function sets the spawn-procdescp attribute in an initialized attributes
object referenced by
.Fa attr .
.Pp
The spawn-procdescp attribute provides the location where the child process's
file descriptor will be stored after a successful spawn.
Setting the attribute to a non-NULL value implicitly request the creation of
the file descriptor that references the child process.
It wiil be created by the
.Xr pdrfork 2
system call. which will be used instead of
.Xr fork/vfork/rfork 2
when the attribute is set to
.Va NULL.
.Pp
If the attribute is set to a value other then
.Dv NULL ,
it must be a valid pointer to a variable of
.Vt int
type, where the resulting descriptor will be stored.
The
.Fa pdrflags
argument specifies additional flags that are accepted by the
.Xr pdfork 2
system call.
See its description for the list of the valid flags.
Note that the
.Va PD_CLOEXEC
flag is always set, preventing leakage of the process descriptor
into the newly created child.
.Pp
The default value for the spawn-procdescp attribute is
.Dv NULL ,
which means that no process descriptor will be created.
.Sh RETURN VALUES
The
.Fn posix_spawnattr_getprocdescp_np
and
.Fn posix_spawnattr_setprocdescp_np
functions return zero.
.Sh SEE ALSO
.Xr posix_spawn 3 ,
.Xr posix_spawnattr_destroy 3 ,
.Xr posix_spawnattr_init 3 ,
.Xr posix_spawnp 3
.Sh STANDARDS
The
.Fn posix_spawnattr_getprocdescp_np
and
.Fn posix_spawnattr_setprocdescp_np
are
.Fx
extensions that first appeared in
.Fx 16.0 .