Browse Source

Provide cgtimer_to_ms helper functions.

Con Kolivas 12 years ago
parent
commit
8661a6735c
2 changed files with 20 additions and 0 deletions
  1. 19 0
      util.c
  2. 1 0
      util.h

+ 19 - 0
util.c

@@ -921,6 +921,15 @@ void cgsleep_us_r(cgtimer_t *ts_start, int64_t us)
 	nanosleep_abstime(&ts_end);
 	nanosleep_abstime(&ts_end);
 }
 }
 
 
+static int timespec_to_ms(struct timespec *ts)
+{
+	return ts->tv_sec * 1000 + ts->tv_nsec / 1000000;
+}
+
+int cgtimer_to_ms(cgtimer_t *cgt)
+{
+	return timespec_to_ms(cgt);
+}
 #else
 #else
 void cgtimer_time(cgtimer_t *ts_start)
 void cgtimer_time(cgtimer_t *ts_start)
 {
 {
@@ -956,6 +965,16 @@ void cgsleep_us_r(cgtimer_t *ts_start, int64_t us)
 
 
 	cgsleep_ms_r(ts_start, ms);
 	cgsleep_ms_r(ts_start, ms);
 }
 }
+
+static int timeval_to_ms(struct timeval *tv)
+{
+	return tv->tv_sec * 1000 + tv->tv_usec / 1000;
+}
+
+int cgtimer_to_ms(cgtimer_t *cgt)
+{
+	return timeval_to_ms(cgt);
+}
 #endif
 #endif
 
 
 void cgsleep_ms(int ms)
 void cgsleep_ms(int ms)

+ 1 - 0
util.h

@@ -90,6 +90,7 @@ void cgtimer_time(cgtimer_t *ts_start);
 #define cgsleep_prepare_r(ts_start) cgtimer_time(ts_start)
 #define cgsleep_prepare_r(ts_start) cgtimer_time(ts_start)
 void cgsleep_ms_r(cgtimer_t *ts_start, int ms);
 void cgsleep_ms_r(cgtimer_t *ts_start, int ms);
 void cgsleep_us_r(cgtimer_t *ts_start, int64_t us);
 void cgsleep_us_r(cgtimer_t *ts_start, int64_t us);
+int cgtimer_to_ms(cgtimer_t *cgt);
 double us_tdiff(struct timeval *end, struct timeval *start);
 double us_tdiff(struct timeval *end, struct timeval *start);
 double tdiff(struct timeval *end, struct timeval *start);
 double tdiff(struct timeval *end, struct timeval *start);
 bool stratum_send(struct pool *pool, char *s, ssize_t len);
 bool stratum_send(struct pool *pool, char *s, ssize_t len);