| # http: |
|
|
| from posix.types cimport pid_t, id_t |
| from posix.signal cimport siginfo_t |
| from posix.resource cimport rusage |
|
|
| cdef extern from "<sys/wait.h>" nogil: |
| enum: WNOHANG |
| enum: WUNTRACED |
| enum: WCONTINUED |
| enum: WEXITED |
| enum: WSTOPPED |
| enum: WNOWAIT |
|
|
| int WEXITSTATUS(int status) |
| int WIFCONTINUED(int status) |
| int WIFEXITED(int status) |
| int WIFSIGNALED(int status) |
| int WIFSTOPPED(int status) |
| int WSTOPSIG(int status) |
| int WTERMSIG(int status) |
|
|
| ctypedef int idtype_t |
| enum: P_ALL # idtype_t values |
| enum: P_PID |
| enum: P_PGID |
|
|
| pid_t wait(int *stat_loc) |
| pid_t waitpid(pid_t pid, int *status, int options) |
| int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options) |
|
|
| # wait3 was in POSIX until 2008 while wait4 was never standardized. |
| # Even so, these calls are in almost every Unix, always in sys/wait.h. |
| # Hence, posix.wait is the least surprising place to declare them for Cython. |
| # libc may require _XXX_SOURCE to be defined at C-compile time to provide them. |
|
|
| pid_t wait3(int *status, int options, rusage *rusage) |
| pid_t wait4(pid_t pid, int *status, int options, rusage *rusage) |
|
|