From a9acb7b39ed21386142b963aeecc35e0b468c0de Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Tue, 8 Nov 2022 12:49:46 +0800 Subject: Define in_int32_t_range to check if the 64 bit time_t syscall should be used Currently glibc uses in_time_t_range to detects time_t overflow, and if it occurs fallbacks to 64 bit syscall version. The function name is confusing because internally time_t might be either 32 bits or 64 bits (depending on __TIMESIZE). This patch refactors the in_time_t_range by replacing it with in_int32_t_range for the case to check if the 64 bit time_t syscall should be used. The in_time_t range is used to detect overflow of the syscall return value. Reviewed-by: Adhemerval Zanella --- sysdeps/unix/sysv/linux/semtimedop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sysdeps/unix/sysv/linux/semtimedop.c') diff --git a/sysdeps/unix/sysv/linux/semtimedop.c b/sysdeps/unix/sysv/linux/semtimedop.c index 38a401b..0cdc0fa 100644 --- a/sysdeps/unix/sysv/linux/semtimedop.c +++ b/sysdeps/unix/sysv/linux/semtimedop.c @@ -42,7 +42,7 @@ __semtimedop64 (int semid, struct sembuf *sops, size_t nsops, #ifdef __ASSUME_TIME64_SYSCALLS return semtimedop_syscall (semid, sops, nsops, timeout); #else - bool need_time64 = timeout != NULL && !in_time_t_range (timeout->tv_sec); + bool need_time64 = timeout != NULL && !in_int32_t_range (timeout->tv_sec); if (need_time64) { int r = semtimedop_syscall (semid, sops, nsops, timeout); -- cgit v1.1