The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=58580dc0c694b107ba7ba1b14dc8ee8f306e53f6
commit 58580dc0c694b107ba7ba1b14dc8ee8f306e53f6 Author: Konstantin Belousov <[email protected]> AuthorDate: 2026-01-24 22:22:03 +0000 Commit: Konstantin Belousov <[email protected]> CommitDate: 2026-01-25 17:20:00 +0000 libc: document posix_spawnattr_getexecfd_np(3) Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54862 --- lib/libc/gen/Makefile.inc | 2 + lib/libc/gen/posix_spawn.3 | 2 + lib/libc/gen/posix_spawnattr_getexecfd_np.3 | 86 +++++++++++++++++++++++++++++ 3 files changed, 90 insertions(+) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 4d064d18d36e..5d151a71ff7d 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -274,6 +274,7 @@ MAN+= alarm.3 \ posix_spawn.3 \ posix_spawn_file_actions_addopen.3 \ posix_spawn_file_actions_init.3 \ + posix_spawnattr_getexecfd_np.3 \ posix_spawnattr_getflags.3 \ posix_spawnattr_getpgroup.3 \ posix_spawnattr_getschedparam.3 \ @@ -469,6 +470,7 @@ MLINKS+=posix_spawn.3 posix_spawnp.3 \ posix_spawn_file_actions_addopen.3 posix_spawn_file_actions_addfchdir_np.3 \ posix_spawn_file_actions_init.3 posix_spawn_file_actions_destroy.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_getschedparam.3 posix_spawnattr_setschedparam.3 \ posix_spawnattr_getschedpolicy.3 posix_spawnattr_setschedpolicy.3 \ diff --git a/lib/libc/gen/posix_spawn.3 b/lib/libc/gen/posix_spawn.3 index 278fee88463a..a34344597a99 100644 --- a/lib/libc/gen/posix_spawn.3 +++ b/lib/libc/gen/posix_spawn.3 @@ -455,6 +455,7 @@ action. .Xr posix_spawn_file_actions_destroy 3 , .Xr posix_spawn_file_actions_init 3 , .Xr posix_spawnattr_destroy 3 , +.Xr posix_spawnattr_getexecfd_np 3 , .Xr posix_spawnattr_getflags 3 , .Xr posix_spawnattr_getpgroup 3 , .Xr posix_spawnattr_getschedparam 3 , @@ -462,6 +463,7 @@ action. .Xr posix_spawnattr_getsigdefault 3 , .Xr posix_spawnattr_getsigmask 3 , .Xr posix_spawnattr_init 3 , +.Xr posix_spawnattr_setexecfd_np 3 , .Xr posix_spawnattr_setflags 3 , .Xr posix_spawnattr_setpgroup 3 , .Xr posix_spawnattr_setschedparam 3 , diff --git a/lib/libc/gen/posix_spawnattr_getexecfd_np.3 b/lib/libc/gen/posix_spawnattr_getexecfd_np.3 new file mode 100644 index 000000000000..3f5c523d101d --- /dev/null +++ b/lib/libc/gen/posix_spawnattr_getexecfd_np.3 @@ -0,0 +1,86 @@ +.\" Copyright 2026 The FreeBSD Foundation +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" This documentation was written by +.\" Konstantin Belousov <[email protected]> under sponsorship +.\" from the FreeBSD Foundation. +.\" +.Dd January 25, 2026 +.Dt POSIX_SPAWNATTR_GETEXECFD_NP 3 +.Os +.Sh NAME +.Nm posix_spawnattr_getexecfd_np , +.Nm posix_spawnattr_setexecfd_np +.Nd "get and set the spawn-execfd attribute of a spawn attributes object" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In spawn.h +.Ft int +.Fo posix_spawnattr_getexecfd_np +.Fa "const posix_spawnattr_t *restrict attr" +.Fa "int *restrict fdp" +.Fc +.Ft int +.Fo posix_spawnattr_setexecfd_np +.Fa "posix_spawnattr_t *attr" +.Fa "int fd" +.Sh DESCRIPTION +The +.Fn posix_spawnattr_getexecfd_np +function obtains the value of the spawn-execfd attribute from the +attributes object referenced by +.Fa attr . +.Pp +The +.Fn posix_spawnattr_setexecfd_np +function sets the spawn-execfd attribute in an initialized attributes +object referenced by +.Fa attr . +.Pp +The spawn-execfd attribute provides the file descriptor that is used +to execute new image in the spawned process by the +.Xr posix_spawn 3 +family of functions. +If the attribute is set to a value other then \-1, it must be a valid +file descriptor which does not have the +.Va O_CLOFORK +flag set. +Then, +.Fn posix_spawn +executes the executable image referenced by the file descriptor in the +newly created process, using the +.Xr fexecve 2 +system call. +In this case, the +.Fa path +argument to +.Fn posix_spawn +is ignored. +.Pp +The default value for the spawn-execfd attribute is \-1, which +means that the executed image is specified by the +.Fa path +argument to +.Fn posix_spawn . +.Sh RETURN VALUES +The +.Fn posix_spawnattr_getexecfd_np +and +.Fn posix_spawnattr_setexecfd_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_getexecfd_np +and +.Fn posix_spawnattr_setexecfd_np +are +.Fx +extensions that first appeared in +.Fx 16.0 .
