1
# https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_wait.h.html
3
from posix.types cimport pid_t, id_t
4
from posix.signal cimport siginfo_t
5
from posix.resource cimport rusage
7
cdef extern from "<sys/wait.h>" nogil:
15
int WEXITSTATUS(int status)
16
int WIFCONTINUED(int status)
17
int WIFEXITED(int status)
18
int WIFSIGNALED(int status)
19
int WIFSTOPPED(int status)
20
int WSTOPSIG(int status)
21
int WTERMSIG(int status)
24
enum: P_ALL # idtype_t values
28
pid_t wait(int *stat_loc)
29
pid_t waitpid(pid_t pid, int *status, int options)
30
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options)
32
# wait3 was in POSIX until 2008 while wait4 was never standardized.
33
# Even so, these calls are in almost every Unix, always in sys/wait.h.
34
# Hence, posix.wait is the least surprising place to declare them for Cython.
35
# libc may require _XXX_SOURCE to be defined at C-compile time to provide them.
37
pid_t wait3(int *status, int options, rusage *rusage)
38
pid_t wait4(pid_t pid, int *status, int options, rusage *rusage)