Cygwin: posix timers: some cleanup

- use int64_t instead of long long
- make is_timer_tracker const
- improve copyright header comment

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2019-01-12 20:23:55 +01:00
parent 92cbaa9f23
commit 961be8d726
2 changed files with 12 additions and 12 deletions

View File

@ -1,4 +1,4 @@
/* timer.cc /* timer.cc: posix timers
This file is part of Cygwin. This file is part of Cygwin.
@ -87,10 +87,10 @@ timer_tracker::timer_tracker (clockid_t c, const sigevent *e)
} }
} }
static inline long long static inline int64_t
timespec_to_us (const timespec& ts) timespec_to_us (const timespec& ts)
{ {
long long res = ts.tv_sec; int64_t res = ts.tv_sec;
res *= USPERSEC; res *= USPERSEC;
res += (ts.tv_nsec + (NSPERSEC/USPERSEC) - 1) / (NSPERSEC/USPERSEC); res += (ts.tv_nsec + (NSPERSEC/USPERSEC) - 1) / (NSPERSEC/USPERSEC);
return res; return res;
@ -99,11 +99,11 @@ timespec_to_us (const timespec& ts)
DWORD DWORD
timer_tracker::thread_func () timer_tracker::thread_func ()
{ {
long long now; int64_t now;
long long cur_sleepto_us = sleepto_us; int64_t cur_sleepto_us = sleepto_us;
while (1) while (1)
{ {
long long sleep_us; int64_t sleep_us;
LONG sleep_ms; LONG sleep_ms;
/* Account for delays in starting thread /* Account for delays in starting thread
and sending the signal */ and sending the signal */
@ -260,8 +260,8 @@ timer_tracker::gettime (itimerspec *ovalue)
else else
{ {
ovalue->it_interval = it_interval; ovalue->it_interval = it_interval;
long long now = get_clock (clock_id)->usecs (); int64_t now = get_clock (clock_id)->usecs ();
long long left_us = sleepto_us - now; int64_t left_us = sleepto_us - now;
if (left_us < 0) if (left_us < 0)
left_us = 0; left_us = 0;
ovalue->it_value.tv_sec = left_us / USPERSEC; ovalue->it_value.tv_sec = left_us / USPERSEC;

View File

@ -1,4 +1,4 @@
/* timer.h: Define class timer_tracker, base class for timer handling /* timer.h: Define class timer_tracker, base class for posix timers
This file is part of Cygwin. This file is part of Cygwin.
@ -20,15 +20,15 @@ class timer_tracker
timespec it_interval; timespec it_interval;
HANDLE hcancel; HANDLE hcancel;
HANDLE syncthread; HANDLE syncthread;
long long interval_us; int64_t interval_us;
long long sleepto_us; int64_t sleepto_us;
bool cancel (); bool cancel ();
public: public:
timer_tracker (clockid_t, const sigevent *); timer_tracker (clockid_t, const sigevent *);
~timer_tracker (); ~timer_tracker ();
inline bool is_timer_tracker () { return magic == TT_MAGIC; } inline bool is_timer_tracker () const { return magic == TT_MAGIC; }
void gettime (itimerspec *); void gettime (itimerspec *);
int settime (int, const itimerspec *, itimerspec *); int settime (int, const itimerspec *, itimerspec *);