The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

NAME

spawn.h — spawn (ADVANCED REALTIME)

SYNOPSIS

[SPN] [Option Start] #include <spawn.h> [Option End]

DESCRIPTION

The <spawn.h> header shall define the posix_spawnattr_t and posix_spawn_file_actions_t types used in performing spawn operations.

The <spawn.h> header shall define the mode_t and pid_t types as described in <sys/types.h>.

The <spawn.h> header shall define the sigset_t type as described in <signal.h>.

The tag sched_param shall be declared as naming an incomplete structure type, the contents of which are described in the <sched.h> header.

The <spawn.h> header shall define the following symbolic constants for use as the flags that may be set in a posix_spawnattr_t object using the posix_spawnattr_setflags() function:


POSIX_SPAWN_RESETIDS
POSIX_SPAWN_SETPGROUP
[PS] [Option Start]
POSIX_SPAWN_SETSCHEDPARAM
POSIX_SPAWN_SETSCHEDULER
[Option End]
POSIX_SPAWN_SETSID
POSIX_SPAWN_SETSIGDEF
POSIX_SPAWN_SETSIGMASK

The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.

int   posix_spawn(pid_t *restrict, const char *restrict,
          const posix_spawn_file_actions_t *restrict,
          const posix_spawnattr_t *restrict, char *const [restrict],
          char *const [restrict]);
int   posix_spawn_file_actions_addchdir(posix_spawn_file_actions_t
          *restrict, const char *restrict);
int   posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *,
          int);
int   posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *,
          int, int);
int   posix_spawn_file_actions_addfchdir(posix_spawn_file_actions_t *,
          int);
int   posix_spawn_file_actions_addopen(posix_spawn_file_actions_t
          *restrict, int, const char *restrict, int, mode_t);
int   posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *);
int   posix_spawn_file_actions_init(posix_spawn_file_actions_t *);
int   posix_spawnattr_destroy(posix_spawnattr_t *);
int   posix_spawnattr_getflags(const posix_spawnattr_t *restrict,
          short *restrict);
int   posix_spawnattr_getpgroup(const posix_spawnattr_t *restrict,
          pid_t *restrict);
[PS][Option Start]
int   posix_spawnattr_getschedparam(const posix_spawnattr_t *restrict,
          struct sched_param *restrict);
int   posix_spawnattr_getschedpolicy(const posix_spawnattr_t *restrict,
          int *restrict);
[Option End]
int   posix_spawnattr_getsigdefault(const posix_spawnattr_t *restrict,
          sigset_t *restrict);
int   posix_spawnattr_getsigmask(const posix_spawnattr_t *restrict,
          sigset_t *restrict);
int   posix_spawnattr_init(posix_spawnattr_t *);
int   posix_spawnattr_setflags(posix_spawnattr_t *, short);
int   posix_spawnattr_setpgroup(posix_spawnattr_t *, pid_t);

[PS][Option Start] int posix_spawnattr_setschedparam(posix_spawnattr_t *restrict, const struct sched_param *restrict); int posix_spawnattr_setschedpolicy(posix_spawnattr_t *, int); [Option End] int posix_spawnattr_setsigdefault(posix_spawnattr_t *restrict, const sigset_t *restrict); int posix_spawnattr_setsigmask(posix_spawnattr_t *restrict, const sigset_t *restrict); int posix_spawnp(pid_t *restrict, const char *restrict, const posix_spawn_file_actions_t *restrict, const posix_spawnattr_t *restrict, char *const [restrict], char *const [restrict]);

Inclusion of the <spawn.h> header may make visible symbols defined in the <sched.h> and <signal.h> headers.


The following sections are informative.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

<sched.h>, <semaphore.h>, <signal.h>, <sys/types.h>

XSH posix_spawn, posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2, posix_spawn_file_actions_destroy, posix_spawnattr_destroy, posix_spawnattr_getflags, posix_spawnattr_getpgroup, posix_spawnattr_getschedparam, posix_spawnattr_getschedpolicy, posix_spawnattr_getsigdefault, posix_spawnattr_getsigmask

CHANGE HISTORY

First released in Issue 6. Included for alignment with IEEE Std 1003.1d-1999.

The restrict keyword is added to the prototypes for posix_spawn(), posix_spawn_file_actions_addopen(), posix_spawnattr_getsigdefault(), posix_spawnattr_getflags(), posix_spawnattr_getpgroup(), posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_getsigmask(), posix_spawnattr_setsigdefault(), posix_spawnattr_setschedparam(), posix_spawnattr_setsigmask(), and posix_spawnp().

Issue 7

This reference page is clarified with respect to macros and symbolic constants, and declarations for the mode_t, pid_t, and sigset_t types are added.

Issue 8

Austin Group Defect 1044 is applied, adding POSIX_SPAWN_SETSID.

Austin Group Defect 1208 is applied, adding posix_spawn_file_actions_addchdir() and posix_spawn_file_actions_addfchdir().

Austin Group Defect 1328 is applied, adding the restrict keyword to the third parameter of posix_spawn() and posix_spawnp().

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]