aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/posix/wait.pxd
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
committeralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/tools/cython/Cython/Includes/posix/wait.pxd
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
downloadydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz
add ymake export to ydb
Diffstat (limited to 'contrib/tools/cython/Cython/Includes/posix/wait.pxd')
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/wait.pxd38
1 files changed, 38 insertions, 0 deletions
diff --git a/contrib/tools/cython/Cython/Includes/posix/wait.pxd b/contrib/tools/cython/Cython/Includes/posix/wait.pxd
new file mode 100644
index 0000000000..d18cff9cf8
--- /dev/null
+++ b/contrib/tools/cython/Cython/Includes/posix/wait.pxd
@@ -0,0 +1,38 @@
+# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/wait.h.html
+
+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)