Browse Source

Add a timeraddspec helper function.

Con Kolivas 12 years ago
parent
commit
71c19ae351
2 changed files with 11 additions and 0 deletions
  1. 10 0
      util.c
  2. 1 0
      util.h

+ 10 - 0
util.c

@@ -914,6 +914,16 @@ void us_to_timespec(struct timespec *spec, int64_t us)
 	spec->tv_nsec = (us - (spec->tv_sec * 1000000)) * 1000;
 }
 
+void timeraddspec(struct timespec *a, const struct timespec *b)
+{
+	a->tv_sec += b->tv_sec;
+	a->tv_nsec += b->tv_nsec;
+	if (a->tv_nsec >+ 1000000000) {
+		a->tv_nsec -= 1000000000;
+		a->tv_sec++;
+	}
+}
+
 /* Returns the microseconds difference between end and start times as a double */
 double us_tdiff(struct timeval *end, struct timeval *start)
 {

+ 1 - 0
util.h

@@ -82,6 +82,7 @@ void timespec_to_val(struct timeval *val, const struct timespec *spec);
 void timeval_to_spec(struct timespec *spec, const struct timeval *val);
 void us_to_timeval(struct timeval *val, int64_t us);
 void us_to_timespec(struct timespec *spec, int64_t us);
+void timeraddspec(struct timespec *a, const struct timespec *b);
 double us_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);