diff options
Diffstat (limited to 'winsup/cygwin/local_includes/clock.h')
-rw-r--r-- | winsup/cygwin/local_includes/clock.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/winsup/cygwin/local_includes/clock.h b/winsup/cygwin/local_includes/clock.h index 7323299..493adf6 100644 --- a/winsup/cygwin/local_includes/clock.h +++ b/winsup/cygwin/local_includes/clock.h @@ -99,6 +99,7 @@ class clk_t now (0, &ts); return ts.tv_sec * MSPERSEC + ts.tv_nsec / (NSPERSEC/MSPERSEC); } + virtual uint16_t get_leap_secs () { return 0; } }; class clk_realtime_coarse_t : public clk_t @@ -109,11 +110,23 @@ class clk_realtime_coarse_t : public clk_t class clk_realtime_t : public clk_t { void init (); + protected: virtual int now (clockid_t, struct timespec *); public: virtual void resolution (struct timespec *); }; +class clk_tai_t : public clk_realtime_t +{ + static uint16_t leap_secs; + static SRWLOCK leap_lock; + + void init (); + virtual int now (clockid_t, struct timespec *); +public: + virtual uint16_t get_leap_secs () { init (); return leap_secs; } +}; + class clk_process_t : public clk_t { virtual int now (clockid_t, struct timespec *); |