mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
y2038: inet: Convert inet deadline to support 64 bit time
This change brings 64 bit time support to inet deadline related code for architectures with __WORDSIZE == 32 && __TIMESIZE != 64. It is also safe to replace struct timespec with struct __timespec64 in deadline related structures as: - The __deadline_to_ms () returns the number of miliseconds to deadline to be used with __poll (and hence it is a relative value). - To calculate the deadline from timeval (which will be converted latter) the uintmax_t type is used (unsinged long long int). Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
parent
1959ed4b9e
commit
e008836c4a
@ -28,8 +28,8 @@ struct deadline_current_time
|
||||
__deadline_current_time (void)
|
||||
{
|
||||
struct deadline_current_time result;
|
||||
if (__clock_gettime (CLOCK_MONOTONIC, &result.current) != 0)
|
||||
__clock_gettime (CLOCK_REALTIME, &result.current);
|
||||
if (__clock_gettime64 (CLOCK_MONOTONIC, &result.current) != 0)
|
||||
__clock_gettime64 (CLOCK_REALTIME, &result.current);
|
||||
assert (result.current.tv_sec >= 0);
|
||||
return result;
|
||||
}
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <stdint.h>
|
||||
#include <sys/time.h>
|
||||
#include <libc-diag.h>
|
||||
#include <struct___timespec64.h>
|
||||
|
||||
int __inet6_scopeid_pton (const struct in6_addr *address,
|
||||
const char *scope, uint32_t *result);
|
||||
@ -76,7 +77,7 @@ enum idna_name_classification __idna_name_classify (const char *name)
|
||||
timeouts and vice versa. */
|
||||
struct deadline_current_time
|
||||
{
|
||||
struct timespec current;
|
||||
struct __timespec64 current;
|
||||
};
|
||||
|
||||
/* Return the current time. Terminates the process if the current
|
||||
@ -86,7 +87,7 @@ struct deadline_current_time __deadline_current_time (void) attribute_hidden;
|
||||
/* Computed absolute deadline. */
|
||||
struct deadline
|
||||
{
|
||||
struct timespec absolute;
|
||||
struct __timespec64 absolute;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user