summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/bits/uClibc_local_lim.h2
-rw-r--r--libc/sysdeps/linux/common/not-cancel.h17
-rw-r--r--libc/sysdeps/linux/common/pause.c2
-rw-r--r--libc/sysdeps/linux/common/pread_write.c2
4 files changed, 20 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/common/bits/uClibc_local_lim.h b/libc/sysdeps/linux/common/bits/uClibc_local_lim.h
index ce166a15b..0727ebf55 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_local_lim.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_local_lim.h
@@ -20,7 +20,7 @@
/* glibc uses 16384 */
# define PTHREAD_THREADS_MAX 1024
# define TIMER_MAX 256
-# ifdef __UCLIBC_HAS_LINUXTHREADS__
+# ifdef __LINUXTHREADS_OLD__
# undef SEM_VALUE_MAX
# define SEM_VALUE_MAX ((int) ((~0u) >> 1))
# endif
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() \
diff --git a/libc/sysdeps/linux/common/pause.c b/libc/sysdeps/linux/common/pause.c
index 95d064ab5..c35ecd5d5 100644
--- a/libc/sysdeps/linux/common/pause.c
+++ b/libc/sysdeps/linux/common/pause.c
@@ -22,7 +22,7 @@ CANCELLABLE_SYSCALL(int, pause, (void), ())
# include <signal.h>
int
-# ifdef __UCLIBC_HAS_LINUXTHREADS__
+# ifdef __LINUXTHREADS_OLD__
weak_function
# endif
__NC(pause)(void)
diff --git a/libc/sysdeps/linux/common/pread_write.c b/libc/sysdeps/linux/common/pread_write.c
index d0abd90e4..4f96f681d 100644
--- a/libc/sysdeps/linux/common/pread_write.c
+++ b/libc/sysdeps/linux/common/pread_write.c
@@ -102,7 +102,7 @@ static ssize_t __NC(pwrite64)(int fd, const void *buf, size_t count, off64_t off
CANCELLABLE_SYSCALL(ssize_t, pwrite64, (int fd, const void *buf, size_t count, off64_t offset),
(fd, buf, count, offset))
# else
-# ifdef __UCLIBC_HAS_LINUXTHREADS__
+# ifdef __LINUXTHREADS_OLD__
weak_alias(pread,pread64)
weak_alias(pwrite,pwrite64)
lt_strong_alias(pread64)