Message ID | 20200326080641.10193-4-lukma@denx.de |
---|---|
State | New |
Headers | show |
Series | y2038: Replace __clock_gettime with __clock_gettime64 | expand |
On 26/03/2020 05:06, Lukasz Majewski wrote: > 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: LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > > - 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). > --- > inet/deadline.c | 4 ++-- > inet/net-internal.h | 5 +++-- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/inet/deadline.c b/inet/deadline.c > index ebf9a4f52c..eac7afd1a8 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; > } Ok. > diff --git a/inet/net-internal.h b/inet/net-internal.h > index 3ca301a9be..50c7e1c482 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; > }; > Ok. > /* 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; > }; > > > Ok.
diff --git a/inet/deadline.c b/inet/deadline.c index ebf9a4f52c..eac7afd1a8 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 3ca301a9be..50c7e1c482 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; };