summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/not-cancel.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/not-cancel.h')
-rw-r--r--libc/sysdeps/linux/common/not-cancel.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/not-cancel.h b/libc/sysdeps/linux/common/not-cancel.h
index ac32366a6..acf8e39e8 100644
--- a/libc/sysdeps/linux/common/not-cancel.h
+++ b/libc/sysdeps/linux/common/not-cancel.h
@@ -70,6 +70,12 @@ extern int __openat64_nocancel (int fd, const char *fname, int oflag,
#define read_not_cancel(fd, buf, n) \
INLINE_SYSCALL (read, 3, (fd), (buf), (n))
+#ifdef __LINUXTHREADS_NEW__
+/* Uncancelable write. */
+#define write_not_cancel(fd, buf, n) \
+ INLINE_SYSCALL (write, 3, (fd), (buf), (n))
+#endif
+
#if 0
/* Uncancelable writev. */
#define writev_not_cancel_no_status(fd, iov, n) \
@@ -81,6 +87,17 @@ extern int __openat64_nocancel (int fd, const char *fname, int oflag,
__fcntl_nocancel (fd, cmd, val)
#endif
+#ifdef __LINUXTHREADS_NEW__
+/* Uncancelable waitpid. */
+#if 0 /*def __NR_waitpid*/
+# define waitpid_not_cancel(pid, stat_loc, options) \
+ INLINE_SYSCALL (waitpid, 3, pid, stat_loc, options)
+#else
+# define waitpid_not_cancel(pid, stat_loc, options) \
+ INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL)
+#endif
+#endif
+
/* Uncancelable pause. */
#ifdef __NR_pause
# define pause_not_cancel() \