public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] y2038: inet: Convert inet deadline to support 64 bit time
@ 2020-05-05 22:57 Lukasz Majewski
  0 siblings, 0 replies; only message in thread
From: Lukasz Majewski @ 2020-05-05 22:57 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e008836c4afeeb81abe548b898fdf2db7d70eaff

commit e008836c4afeeb81abe548b898fdf2db7d70eaff
Author: Lukasz Majewski <lukma@denx.de>
Date:   Mon Mar 16 10:09:13 2020 +0100

    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>

Diff:
---
 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;
 }
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;
 };


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-05 22:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-05 22:57 [glibc] y2038: inet: Convert inet deadline to support 64 bit time Lukasz Majewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).