aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/helper/time_support.c15
-rw-r--r--src/helper/time_support.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/src/helper/time_support.c b/src/helper/time_support.c
index 8337e73..05eaf0a 100644
--- a/src/helper/time_support.c
+++ b/src/helper/time_support.c
@@ -62,6 +62,21 @@ int timeval_add_time(struct timeval *result, long sec, long usec)
return 0;
}
+/* compare two timevals and return -1/0/+1 accordingly */
+int timeval_compare(const struct timeval *x, const struct timeval *y)
+{
+ if (x->tv_sec < y->tv_sec)
+ return -1;
+ else if (x->tv_sec > y->tv_sec)
+ return 1;
+ else if (x->tv_usec < y->tv_usec)
+ return -1;
+ else if (x->tv_usec > y->tv_usec)
+ return 1;
+ else
+ return 0;
+}
+
int duration_start(struct duration *duration)
{
return gettimeofday(&duration->start, NULL);
diff --git a/src/helper/time_support.h b/src/helper/time_support.h
index 58c8c48..7abbdb2 100644
--- a/src/helper/time_support.h
+++ b/src/helper/time_support.h
@@ -38,6 +38,7 @@
int timeval_subtract(struct timeval *result, struct timeval *x, struct timeval *y);
int timeval_add_time(struct timeval *result, long sec, long usec);
+int timeval_compare(const struct timeval *x, const struct timeval *y);
/** @returns gettimeofday() timeval as 64-bit in ms */
int64_t timeval_ms(void);