]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Y2038: add function __timespec_get64
authorAlbert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
Thu, 7 Sep 2017 22:41:38 +0000 (00:41 +0200)
committerAlbert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
Wed, 24 Oct 2018 10:53:27 +0000 (12:53 +0200)
sysdeps/unix/sysv/linux/timespec_get.c
time/Versions

index b14a302ee9bed02450a8d02ee2d78ba6d83442f7..4cc534af3ad685d78617e653e1e763bb93f48555 100644 (file)
@@ -44,3 +44,24 @@ timespec_get (struct timespec *ts, int base)
 
   return base;
 }
+
+/* 64-bit time version */
+
+/* We don't have a 64-bit-time syscall yet, so just convert arguments
+ * between 64-bit and 32-bit time, and use the 32-bit implementation.
+ * 
+ * We could do the reverse and make the 32-bit time implementation a
+ * wrapper around the 64-bit-time implementation, but then 32-bit-time
+ * uses would incur two conversions instead of zero right now.
+ */
+int
+__timespec_get64 (struct __timespec64 *ts, int base)
+{
+  struct timespec ts32;
+  int res = timespec_get (&ts32, base);
+  if (res != base)
+    {
+      timespec_to_timespec64(&ts32, ts);
+    }
+  return res;
+}
index 5dfe98440a9849830195dbf020bf5a459bb459f7..1e4d81b81b32b9d3f816eeddad3024b10048555b 100644 (file)
@@ -74,5 +74,6 @@ libc {
     __clock_settime64;
     __clock_getres_time64;
     __clock_nanosleep64;
+    __timespec_get64;
   }
 }