diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-09-25 15:04:34 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-09-28 10:03:04 -0300 |
commit | aaa12e9ff02b32d5fbb2f367d7d6b6985a2176d6 (patch) | |
tree | c578f545844fe5976be47982a871657340eb8d27 | |
parent | 7424a0d009773bfdfeba4696d94da72706066546 (diff) | |
download | glibc-aaa12e9ff02b32d5fbb2f367d7d6b6985a2176d6.tar.gz glibc-aaa12e9ff02b32d5fbb2f367d7d6b6985a2176d6.tar.xz glibc-aaa12e9ff02b32d5fbb2f367d7d6b6985a2176d6.zip |
sysvipc: Fix semtimeop for !__ASSUME_DIRECT_SYSVIPC_SYSCALLS
The __NR_ipc syscall does not support 64-bit time operations. It fixes 7c437d3778. Checked on i686-linux-gnu on a Linux 5.4.
-rw-r--r-- | sysdeps/unix/sysv/linux/semtimedop.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sysdeps/unix/sysv/linux/semtimedop.c b/sysdeps/unix/sysv/linux/semtimedop.c index 56121fb0bf..a9ad922ee2 100644 --- a/sysdeps/unix/sysv/linux/semtimedop.c +++ b/sysdeps/unix/sysv/linux/semtimedop.c @@ -26,16 +26,11 @@ int __semtimedop64 (int semid, struct sembuf *sops, size_t nsops, const struct __timespec64 *timeout) { -#if defined __ASSUME_DIRECT_SYSVIPC_SYSCALLS -# ifndef __NR_semtimedop_time64 -# define __NR_semtimedop_time64 __NR_semtimedop -# endif +#ifndef __NR_semtimedop_time64 +# define __NR_semtimedop_time64 __NR_semtimedop +#endif int r = INLINE_SYSCALL_CALL (semtimedop_time64, semid, sops, nsops, timeout); -#else - int r = INLINE_SYSCALL_CALL (ipc, IPCOP_semtimedop, semid, - SEMTIMEDOP_IPC_ARGS (nsops, sops, timeout)); -#endif #ifndef __ASSUME_TIME64_SYSCALLS if (r == 0 || errno != ENOSYS) |