From 1e03b6d828f09e306c10583385ba4129be09039c Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Fri, 10 Jul 2020 10:41:23 -0300 Subject: linux: Simplify mq_timedreceive With arch-syscall.h it can now assumes the existance of either __NR_mq_timedreceive or __NR_mq_timedreceive_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 --- sysdeps/unix/sysv/linux/mq_timedreceive.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'sysdeps/unix/sysv/linux') diff --git a/sysdeps/unix/sysv/linux/mq_timedreceive.c b/sysdeps/unix/sysv/linux/mq_timedreceive.c index 728a63d1ec..477792eb0b 100644 --- a/sysdeps/unix/sysv/linux/mq_timedreceive.c +++ b/sysdeps/unix/sysv/linux/mq_timedreceive.c @@ -26,15 +26,13 @@ __mq_timedreceive_time64 (mqd_t mqdes, char *__restrict msg_ptr, size_t msg_len, unsigned int *__restrict msg_prio, const struct __timespec64 *__restrict abs_timeout) { -#ifdef __ASSUME_TIME64_SYSCALLS -# ifndef __NR_mq_timedreceive_time64 -# define __NR_mq_timedreceive_time64 __NR_mq_timedreceive -# endif - return SYSCALL_CANCEL (mq_timedreceive_time64, mqdes, msg_ptr, msg_len, - msg_prio, abs_timeout); -#else +#ifndef __NR_mq_timedreceive_time64 +# define __NR_mq_timedreceive_time64 __NR_mq_timedreceive +#endif int ret = SYSCALL_CANCEL (mq_timedreceive_time64, mqdes, msg_ptr, msg_len, msg_prio, abs_timeout); + +#ifndef __ASSUME_TIME64_SYSCALLS if (ret == 0 || errno != ENOSYS) return ret; @@ -50,9 +48,11 @@ __mq_timedreceive_time64 (mqd_t mqdes, char *__restrict msg_ptr, size_t msg_len, ts32 = valid_timespec64_to_timespec (*abs_timeout); } - return SYSCALL_CANCEL (mq_timedreceive, mqdes, msg_ptr, msg_len, msg_prio, - abs_timeout != NULL ? &ts32 : NULL); + ret = SYSCALL_CANCEL (mq_timedreceive, mqdes, msg_ptr, msg_len, msg_prio, + abs_timeout != NULL ? &ts32 : NULL); #endif + + return ret; } #if __TIMESIZE != 64 -- cgit 1.4.1