summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/semtimedop.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-09-25 15:04:34 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-09-28 10:03:04 -0300
commitaaa12e9ff02b32d5fbb2f367d7d6b6985a2176d6 (patch)
treec578f545844fe5976be47982a871657340eb8d27 /sysdeps/unix/sysv/linux/semtimedop.c
parent7424a0d009773bfdfeba4696d94da72706066546 (diff)
downloadglibc-aaa12e9ff02b32d5fbb2f367d7d6b6985a2176d6.tar.gz
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.
Diffstat (limited to 'sysdeps/unix/sysv/linux/semtimedop.c')
-rw-r--r--sysdeps/unix/sysv/linux/semtimedop.c11
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)