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>
This commit is contained in:
Adhemerval Zanella 2020-07-10 14:04:48 -03:00
parent 3feb53bab0
commit fd31691c67

View File

@ -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)
*tp = valid_timespec_to_timespec64 (tp32);
return retval;
struct timespec tp32;
ret = INLINE_SYSCALL_CALL (sched_rr_get_interval, pid, &tp32);
if (ret == 0)
*tp = valid_timespec_to_timespec64 (tp32);
#endif
return ret;
}
#if __TIMESIZE != 64