mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 23:07:35 +00:00
Base: Fix syscall/libc manpage sorting
This commit is contained in:
parent
88dcbacabd
commit
b0b8953ec1
24 changed files with 0 additions and 0 deletions
78
Base/usr/share/man/man3/posix_spawnattr_init.md
Normal file
78
Base/usr/share/man/man3/posix_spawnattr_init.md
Normal file
|
@ -0,0 +1,78 @@
|
|||
## Name
|
||||
|
||||
posix\_spawnattr - configure attributes for posix\_spawn
|
||||
|
||||
## Synopsis
|
||||
|
||||
```**c++
|
||||
#include <spawn.h>
|
||||
|
||||
POSIX_SPAWN_RESETIDS
|
||||
POSIX_SPAWN_SETPGROUP
|
||||
POSIX_SPAWN_SETSCHEDPARAM
|
||||
POSIX_SPAWN_SETSCHEDULER
|
||||
POSIX_SPAWN_SETSIGDEF
|
||||
POSIX_SPAWN_SETSIGMASK
|
||||
POSIX_SPAWN_SETSID
|
||||
|
||||
struct posix_spawnattr_t;
|
||||
|
||||
int posix_spawnattr_init(posix_spawnattr_t*);
|
||||
int posix_spawnattr_destroy(posix_spawnattr_t*);
|
||||
|
||||
int posix_spawnattr_getflags(const posix_spawnattr_t*, short*);
|
||||
int posix_spawnattr_getpgroup(const posix_spawnattr_t*, pid_t*);
|
||||
int posix_spawnattr_getschedparam(const posix_spawnattr_t*, struct sched_param*);
|
||||
int posix_spawnattr_getschedpolicy(const posix_spawnattr_t*, int*);
|
||||
int posix_spawnattr_getsigdefault(const posix_spawnattr_t*, sigset_t*);
|
||||
int posix_spawnattr_getsigmask(const posix_spawnattr_t*, sigset_t*);
|
||||
int posix_spawnattr_setflags(posix_spawnattr_t*, short);
|
||||
int posix_spawnattr_setpgroup(posix_spawnattr_t*, pid_t);
|
||||
int posix_spawnattr_setschedparam(posix_spawnattr_t*, const struct sched_param*);
|
||||
int posix_spawnattr_setschedpolicy(posix_spawnattr_t*, int);
|
||||
int posix_spawnattr_setsigdefault(posix_spawnattr_t*, const sigset_t*);
|
||||
int posix_spawnattr_setsigmask(posix_spawnattr_t*, const sigset_t*);
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
Configures a `posix_spawnattr_t` object for use with [`posix_spawn`(2)](posix_spawn.md). This object can be used to let `posix_spawn()` set up process attributes for the spawned child process. The file actions are executed after creating the new process but before loading its binary.
|
||||
|
||||
A `posix_spawnattr_t` object is allocated on the stack but starts in an undefined state.
|
||||
|
||||
`posix_spawnattr_init()` initializes a `posix_spawnattr_t` object that is in an undefined state and puts it in a valid state. It has to be called before the object can be passed to any other function.
|
||||
|
||||
`posix_spawnattr_destroy()` frees up resources used by a valid `posix_spawn_file_actions_t` object and puts it into an undefined state. It has to be called after a `posix_spawnattr_t` object is no longer needed.
|
||||
|
||||
It is valid to alternatingly call `posix_spawnattr_init()` and `posix_spawnattr_destroy()` on the same object,
|
||||
|
||||
`posix_spawnattr_setflags()` configures which attributes of the new child process `posix_spawn()` will set. It receives a bitmask that can contain:
|
||||
|
||||
* `POSIX_SPAWN_RESETIDS`: If set, `posix_spawn()` will reset the effective uid and gid of the child process to the real uid and gid of the parent process. See also [`setuid_overview`(7)](../man7/setuid_overview.md).
|
||||
|
||||
* `POSIX_SPAWN_SETPGROUP`: If set, `posix_spawn()` will set the process group ID of the child process to the process group ID configured with `posix_spawnattr_setpgroup()`, as if `setpgid(0, pgroup)` was called in the child process. The behavior if both this and `POSIX_SPAWN_SETSID` is set is undefined.
|
||||
|
||||
* `POSIX_SPAWN_SETSCHEDPARAM`: If set, `posix_spawn()` will set the scheduler parameter of the child process to the process group ID configured with `posix_spawnattr_setschedparam()`, as if `sched_setparam(0, schedparam)` was called in the child process.
|
||||
|
||||
* `POSIX_SPAWN_SETSCHEDULER`: This is not yet implemented in SerenityOS.
|
||||
|
||||
* `POSIX_SPAWN_SETSIGDEF`: If set, `posix_spawn()` will reset the signal handlers of the child process configured with `posix_spawnattr_setsigdefault()` to each signal's default handler.
|
||||
|
||||
* `POSIX_SPAWN_SETSIGMASK`: If set, `posix_spawn()` will set the signal mask of the child process to the signal mask configured with `posix_spawnattr_setsigmask()`, as if `sigprocmask()` was called in the child process.
|
||||
|
||||
* `POSIX_SPAWN_SETSID`: If set, `posix_spawn()` will run the child process in a new session, as if `setsid()` was called in the child process. The behavior if bboth this an d`POSIX_SPAWN_SETPGROUP` is set is undefined.
|
||||
|
||||
The `posix_spawnattr_get*` functions return what's been set with the corresponding setters. The default `flags` and `pgroup` are 0, the default `sigdefault` set is `sigemptyset()`, all other fields have an unspecified default value.
|
||||
|
||||
|
||||
## Return value
|
||||
|
||||
In SerenityOS, these functions always succeed and return 0.
|
||||
|
||||
The one exception is `posix_spawnattr_setflags()`, which can return -1 and set `errno` to `EINVAL` if an unknown bit is set in the passed bitmask.
|
||||
|
||||
If the effect of an attr fails, the child will exit with exit code 127 before even executing the child binary.
|
||||
|
||||
## See also
|
||||
|
||||
* [`posix_spawn`(2)](posix_spawn.md)
|
Loading…
Add table
Add a link
Reference in a new issue