POSIX_SPAWNATTR_GETPROCDESCP_NP(3) FreeBSD Library Functions Manual
NAME
posix_spawnattr_getprocdesp_np, posix_spawnattr_setprocdescp_np - get and
set the spawn-procdescp attribute of a spawn attributes object
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <spawn.h>
int
posix_spawnattr_getprocdescp_np(const posix_spawnattr_t *restrict attr,
int **restrict fdpp, int *restrict pdrflagsp);
int
posix_spawnattr_setprocdescp_np(posix_spawnattr_t *attr,
int *restrict fdp, int pdrflags);
DESCRIPTION
The posix_spawnattr_getprocdescp_np() function obtains the value of the
spawn-procdescp attribute from the attributes object referenced by attr.
The posix_spawnattr_procdescp_np() function sets the spawn-procdescp
attribute in an initialized attributes object referenced by attr.
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 pdrfork(2) system call. which will be used instead of
fork/vfork/rfork(2) when the attribute is set to NULL.
If the attribute is set to a value other then NULL, it must be a valid
pointer to a variable of int type, where the resulting descriptor will be
stored. The pdrflags argument specifies additional flags that are
accepted by the pdfork(2) system call. See its description for the list
of the valid flags. Note that the PD_CLOEXEC flag is always set,
preventing leakage of the process descriptor into the newly created
child.
The default value for the spawn-procdescp attribute is NULL, which means
that no process descriptor will be created.
RETURN VALUES
The posix_spawnattr_getprocdescp_np() and
posix_spawnattr_setprocdescp_np() functions return zero.
SEE ALSO
posix_spawn(3), posix_spawnattr_destroy(3), posix_spawnattr_init(3),
posix_spawnp(3)
STANDARDS
The posix_spawnattr_getprocdescp_np() and
posix_spawnattr_setprocdescp_np() are FreeBSD extensions that first
appeared in FreeBSD 16.0.
FreeBSD 15.1-STABLE-HBSD January 26, 2026
POSIX_SPAWNATTR_GETPROCDESCP_NP(3)