Use clockid_t throughout in Time::HiRes
authorDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Mon, 17 Oct 2016 10:39:56 +0000 (11:39 +0100)
committerDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Sat, 12 Nov 2016 11:47:10 +0000 (12:47 +0100)
Commit 69d1f2c2 makes clockid_t available on all platforms, so use that
for function arguments throughout instead of casting in the
clock_gettime() calls.

This particularly needs smoking with C++ on platforms that provide
clock_gettime but not clockid_t.

dist/Time-HiRes/HiRes.xs
dist/Time-HiRes/typemap

index eb48aee..d0cbff5 100644 (file)
@@ -1435,7 +1435,7 @@ utime(accessed, modified, ...)
 
 NV
 clock_gettime(clock_id = CLOCK_REALTIME)
-       int clock_id
+       clockid_t clock_id
     PREINIT:
        struct timespec ts;
        int status = -1;
@@ -1443,7 +1443,7 @@ clock_gettime(clock_id = CLOCK_REALTIME)
 #ifdef TIME_HIRES_CLOCK_GETTIME_SYSCALL
        status = syscall(SYS_clock_gettime, clock_id, &ts);
 #else
-       status = clock_gettime((clockid_t)clock_id, &ts);
+       status = clock_gettime(clock_id, &ts);
 #endif
        RETVAL = status == 0 ? ts.tv_sec + (NV) ts.tv_nsec / NV_1E9 : -1;
 
@@ -1454,7 +1454,7 @@ clock_gettime(clock_id = CLOCK_REALTIME)
 
 NV
 clock_gettime(clock_id = 0)
-       int clock_id
+       clockid_t clock_id
     CODE:
        PERL_UNUSED_ARG(clock_id);
         croak("Time::HiRes::clock_gettime(): unimplemented in this platform");
@@ -1468,7 +1468,7 @@ clock_gettime(clock_id = 0)
 
 NV
 clock_getres(clock_id = CLOCK_REALTIME)
-       int clock_id
+       clockid_t clock_id
     PREINIT:
        int status = -1;
        struct timespec ts;
@@ -1476,7 +1476,7 @@ clock_getres(clock_id = CLOCK_REALTIME)
 #ifdef TIME_HIRES_CLOCK_GETRES_SYSCALL
        status = syscall(SYS_clock_getres, clock_id, &ts);
 #else
-       status = clock_getres((clockid_t)clock_id, &ts);
+       status = clock_getres(clock_id, &ts);
 #endif
        RETVAL = status == 0 ? ts.tv_sec + (NV) ts.tv_nsec / NV_1E9 : -1;
 
@@ -1487,7 +1487,7 @@ clock_getres(clock_id = CLOCK_REALTIME)
 
 NV
 clock_getres(clock_id = 0)
-       int clock_id
+       clockid_t clock_id
     CODE:
        PERL_UNUSED_ARG(clock_id);
         croak("Time::HiRes::clock_getres(): unimplemented in this platform");
@@ -1501,7 +1501,7 @@ clock_getres(clock_id = 0)
 
 NV
 clock_nanosleep(clock_id, nsec, flags = 0)
-       int clock_id
+       clockid_t clock_id
        NV  nsec
        int flags
     PREINIT:
@@ -1522,7 +1522,7 @@ clock_nanosleep(clock_id, nsec, flags = 0)
 
 NV
 clock_nanosleep(clock_id, nsec, flags = 0)
-       int clock_id
+       clockid_t clock_id
        NV  nsec
        int flags
     CODE:
index 1124eb6..3fa91f3 100644 (file)
@@ -28,6 +28,8 @@ AV *                  T_AVREF
 HV *                   T_HVREF
 CV *                   T_CVREF
 
+clockid_t               T_IV
+
 IV                     T_IV
 UV                     T_UV
 NV                      T_NV