diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/arm/pread.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/pread.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/pread.c b/sysdeps/unix/sysv/linux/arm/pread.c index 64bc0a1015..91b3c66739 100644 --- a/sysdeps/unix/sysv/linux/arm/pread.c +++ b/sysdeps/unix/sysv/linux/arm/pread.c @@ -26,28 +26,10 @@ ssize_t __libc_pread (int fd, void *buf, size_t count, off_t offset) { - ssize_t result; - - if (SINGLE_THREAD_P) - { - /* In the ARM EABI, 64-bit values are aligned to even/odd register - pairs for syscalls. */ - result = INLINE_SYSCALL (pread64, 6, fd, buf, count, 0, - __LONG_LONG_PAIR (offset >> 31, offset)); - - return result; - } - - int oldtype = LIBC_CANCEL_ASYNC (); - /* In the ARM EABI, 64-bit values are aligned to even/odd register pairs for syscalls. */ - result = INLINE_SYSCALL (pread64, 6, fd, buf, count, 0, - __LONG_LONG_PAIR (offset >> 31, offset)); - - LIBC_CANCEL_RESET (oldtype); - - return result; + return SYSCALL_CANCEL (pread64, fd, buf, count, 0, + __LONG_LONG_PAIR (offset >> 31, offset)); } strong_alias (__libc_pread, __pread) |