diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-07-10 10:41:23 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-08-24 15:04:31 -0300 |
commit | 1e03b6d828f09e306c10583385ba4129be09039c (patch) | |
tree | 635a1f6166ef40f634c99b742276b0b77e034688 /sysdeps | |
parent | ff6228d5c6b0fa34ecb51228be57392649ffc88e (diff) | |
download | glibc-1e03b6d828f09e306c10583385ba4129be09039c.tar.gz glibc-1e03b6d828f09e306c10583385ba4129be09039c.tar.xz glibc-1e03b6d828f09e306c10583385ba4129be09039c.zip |
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 <lukma@denx.de>
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/mq_timedreceive.c | 18 |
1 files changed, 9 insertions, 9 deletions
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 |