summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/mq_timedsend.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-07-10 11:15:42 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-08-24 15:04:31 -0300
commit85077eaa54fa489c676535b1dad8b617a6485cd0 (patch)
tree1812b84c7e481a86167ef72eb0836f1a9ee87858 /sysdeps/unix/sysv/linux/mq_timedsend.c
parent1e03b6d828f09e306c10583385ba4129be09039c (diff)
downloadglibc-85077eaa54fa489c676535b1dad8b617a6485cd0.tar.gz
linux: Simplify mq_timedsend
With arch-syscall.h it can now assumes the existance of either __NR_mq_timedsend or __NR_mq_timedsend_time64. The 32-bit time_t support is now only build for !__ASSUME_TIME64_SYSCALLS. Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15 kernel). Reviewed-by: Lukasz Majewski <lukma@denx.de>
Diffstat (limited to 'sysdeps/unix/sysv/linux/mq_timedsend.c')
-rw-r--r--sysdeps/unix/sysv/linux/mq_timedsend.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/mq_timedsend.c b/sysdeps/unix/sysv/linux/mq_timedsend.c
index f2a43df300..76ba25ba14 100644
--- a/sysdeps/unix/sysv/linux/mq_timedsend.c
+++ b/sysdeps/unix/sysv/linux/mq_timedsend.c
@@ -26,15 +26,13 @@ __mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
unsigned int msg_prio,
const struct __timespec64 *abs_timeout)
{
-#ifdef __ASSUME_TIME64_SYSCALLS
# ifndef __NR_mq_timedsend_time64
# define __NR_mq_timedsend_time64 __NR_mq_timedsend
# endif
- return SYSCALL_CANCEL (mq_timedsend_time64, mqdes, msg_ptr, msg_len,
- msg_prio, abs_timeout);
-#else
int ret = SYSCALL_CANCEL (mq_timedsend_time64, mqdes, msg_ptr, msg_len,
- msg_prio, abs_timeout);
+ msg_prio, abs_timeout);
+
+#ifndef __ASSUME_TIME64_SYSCALLS
if (ret == 0 || errno != ENOSYS)
return ret;
@@ -50,9 +48,11 @@ __mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
ts32 = valid_timespec64_to_timespec (*abs_timeout);
}
- return SYSCALL_CANCEL (mq_timedsend, mqdes, msg_ptr, msg_len, msg_prio,
- abs_timeout != NULL ? &ts32 : NULL);
+ ret = SYSCALL_CANCEL (mq_timedsend, mqdes, msg_ptr, msg_len, msg_prio,
+ abs_timeout != NULL ? &ts32 : NULL);
#endif
+
+ return ret;
}
#if __TIMESIZE != 64