diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-07-10 14:04:48 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-08-24 15:04:31 -0300 |
commit | fd31691c678ada694f141f08c42feed128d7eebc (patch) | |
tree | 6dc791d23712929911eec00a3c2eb3ad4dfacd09 /sysdeps/unix/sysv | |
parent | 3feb53bab07c29f5390420379b3988f71b19e32c (diff) | |
download | glibc-fd31691c678ada694f141f08c42feed128d7eebc.zip glibc-fd31691c678ada694f141f08c42feed128d7eebc.tar.gz glibc-fd31691c678ada694f141f08c42feed128d7eebc.tar.bz2 |
linux: Simplify sched_rr_get_interval
With arch-syscall.h it can now assumes the existance of either
__NR_sched_rr_get_interval or __NR_sched_rr_get_interval_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')
-rw-r--r-- | sysdeps/unix/sysv/linux/sched_rr_gi.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/sysdeps/unix/sysv/linux/sched_rr_gi.c b/sysdeps/unix/sysv/linux/sched_rr_gi.c index 3d7b484..9975621 100644 --- a/sysdeps/unix/sysv/linux/sched_rr_gi.c +++ b/sysdeps/unix/sysv/linux/sched_rr_gi.c @@ -25,24 +25,20 @@ int __sched_rr_get_interval64 (pid_t pid, struct __timespec64 *tp) { -#ifdef __ASSUME_TIME64_SYSCALLS -# ifndef __NR_sched_rr_get_interval_time64 -# define __NR_sched_rr_get_interval_time64 __NR_sched_rr_get_interval -# endif - return INLINE_SYSCALL_CALL (sched_rr_get_interval_time64, pid, tp); -#else -# ifdef __NR_sched_rr_get_interval_time64 +#ifndef __NR_sched_rr_get_interval_time64 +# define __NR_sched_rr_get_interval_time64 __NR_sched_rr_get_interval +#endif int ret = INLINE_SYSCALL_CALL (sched_rr_get_interval_time64, pid, tp); +#ifndef __ASSUME_TIME64_SYSCALLS if (ret == 0 || errno != ENOSYS) return ret; -# endif + struct timespec tp32; - int retval = INLINE_SYSCALL_CALL (sched_rr_get_interval, pid, &tp32); - if (retval == 0) + ret = INLINE_SYSCALL_CALL (sched_rr_get_interval, pid, &tp32); + if (ret == 0) *tp = valid_timespec_to_timespec64 (tp32); - - return retval; #endif + return ret; } #if __TIMESIZE != 64 |