diff options
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r-- | libc/sysdeps/linux/common/bits/uClibc_local_lim.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/not-cancel.h | 17 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/pause.c | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/pread_write.c | 2 |
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) |