diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c index 9a1832a854..d127fee927 100644 --- a/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c +++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c @@ -26,28 +26,13 @@ #include <sysdep-cancel.h> #include <sys/syscall.h> -static ssize_t -do_preadv (int fd, const struct iovec *vector, int count, off_t offset) +ssize_t +__libc_preadv (int fd, const struct iovec *vector, int count, off_t offset) { assert (sizeof (offset) == 4); - return INLINE_SYSCALL (preadv, __ALIGNMENT_COUNT (5, 6), fd, + return SYSCALL_CANCEL (preadv, fd, vector, count, __ALIGNMENT_ARG __LONG_LONG_PAIR (offset >> 31, offset)); } - -ssize_t -__libc_preadv (int fd, const struct iovec *vector, int count, off_t offset) -{ - if (SINGLE_THREAD_P) - return do_preadv (fd, vector, count, offset); - - int oldtype = LIBC_CANCEL_ASYNC (); - - ssize_t result = do_preadv (fd, vector, count, offset); - - LIBC_CANCEL_RESET (oldtype); - - return result; -} strong_alias (__libc_preadv, __preadv) weak_alias (__libc_preadv, preadv) |