aboutsummaryrefslogtreecommitdiff
path: root/inet
diff options
context:
space:
mode:
authorLukasz Majewski <lukma@denx.de>2020-03-16 10:09:13 +0100
committerLukasz Majewski <lukma@denx.de>2020-05-05 18:45:14 +0200
commite008836c4afeeb81abe548b898fdf2db7d70eaff (patch)
tree62f27ff4a3283ff6d7cf8485e8884188997fb690 /inet
parent1959ed4b9e9f95c991abdf31b24fb8cdf98475e2 (diff)
downloadglibc-e008836c4afeeb81abe548b898fdf2db7d70eaff.zip
glibc-e008836c4afeeb81abe548b898fdf2db7d70eaff.tar.gz
glibc-e008836c4afeeb81abe548b898fdf2db7d70eaff.tar.bz2
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>
Diffstat (limited to 'inet')
-rw-r--r--inet/deadline.c4
-rw-r--r--inet/net-internal.h5
2 files changed, 5 insertions, 4 deletions
diff --git a/inet/deadline.c b/inet/deadline.c
index ebf9a4f..eac7afd 100644
--- a/inet/deadline.c
+++ b/inet/deadline.c
@@ -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;
}
diff --git a/inet/net-internal.h b/inet/net-internal.h
index 3ca301a..50c7e1c 100644
--- a/inet/net-internal.h
+++ b/inet/net-internal.h
@@ -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;
};