]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Use __clock_gettime in _hurd_select
authorFlorian Weimer <fweimer@redhat.com>
Thu, 7 Nov 2019 08:52:11 +0000 (09:52 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 7 Nov 2019 08:54:33 +0000 (09:54 +0100)
The __gettimeofday references caused check-localplt failures after
commit 5e46749c64d5.

Fixes: 5e46749c64d51f50f8511ed99c1266d7c13e182b
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Change-Id: Ia6da4045157a5bbccc67d79e881d7592e6f8a890

hurd/hurdselect.c

index 79cd20b03efef102f53d1199f967a5272db27e97..6a174bc88ab39ce99eafcdb914534d692973fe08 100644 (file)
@@ -88,7 +88,7 @@ _hurd_select (int nfds,
     reply_msgid = IO_SELECT_REPLY_MSGID;
   else
     {
-      struct timeval now;
+      struct timespec now;
 
       if (timeout->tv_sec < 0 || ! valid_nanoseconds (timeout->tv_nsec))
        {
@@ -96,12 +96,12 @@ _hurd_select (int nfds,
          return -1;
        }
 
-      err = __gettimeofday(&now, NULL);
+      err = __clock_gettime (CLOCK_REALTIME, &now);
       if (err)
        return -1;
 
       ts.tv_sec = now.tv_sec + timeout->tv_sec;
-      ts.tv_nsec = now.tv_usec * 1000 + timeout->tv_nsec;
+      ts.tv_nsec = now.tv_nsec + timeout->tv_nsec;
 
       if (ts.tv_nsec >= 1000000000)
        {
@@ -175,8 +175,7 @@ _hurd_select (int nfds,
       if (error)
        {
          /* Set timeout to 0.  */
-         struct timeval now;
-         err = __gettimeofday(&now, NULL);
+         err = __clock_gettime (CLOCK_REALTIME, &ts);
          if (err)
            {
              /* Really bad luck.  */
@@ -192,8 +191,6 @@ _hurd_select (int nfds,
              errno = err;
              return -1;
            }
-         ts.tv_sec = now.tv_sec;
-         ts.tv_nsec = now.tv_usec * 1000;
          reply_msgid = IO_SELECT_TIMEOUT_REPLY_MSGID;
        }