diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/pwrite.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/pwrite.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c index 80c2e22ebf..b77985d2d1 100644 --- a/sysdeps/unix/sysv/linux/pwrite.c +++ b/sysdeps/unix/sysv/linux/pwrite.c @@ -32,36 +32,17 @@ #endif -static ssize_t -#ifdef NO_CANCELLATION -inline __attribute ((always_inline)) -#endif -do_pwrite (int fd, const void *buf, size_t count, off_t offset) +ssize_t +__libc_pwrite (int fd, const void *buf, size_t count, off_t offset) { ssize_t result; assert (sizeof (offset) == 4); - result = INLINE_SYSCALL (pwrite, 5, fd, buf, count, + result = SYSCALL_CANCEL (pwrite, fd, buf, count, __LONG_LONG_PAIR (offset >> 31, offset)); return result; } - -ssize_t -__libc_pwrite (int fd, const void *buf, size_t count, off_t offset) -{ - if (SINGLE_THREAD_P) - return do_pwrite (fd, buf, count, offset); - - int oldtype = LIBC_CANCEL_ASYNC (); - - ssize_t result = do_pwrite (fd, buf, count, offset); - - LIBC_CANCEL_RESET (oldtype); - - return result; -} - strong_alias (__libc_pwrite, __pwrite) weak_alias (__libc_pwrite, pwrite) |