[ccan] [PATCH] time: add timemono_since

Emilio G. Cota cota at braap.org
Wed Sep 28 07:57:53 AEST 2016


time_mono()'s documentation references time_since(), which is nowhere
to be found.

A possible fix would be to just remove that stale reference.

Instead, this patch adds timemono_since(), which hopefully
captures the meaning of the original time_since().

Signed-off-by: Emilio G. Cota <cota at braap.org>
---
 ccan/time/test/run-monotonic.c |  3 ++-
 ccan/time/time.h               | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ccan/time/test/run-monotonic.c b/ccan/time/test/run-monotonic.c
index ed70f3d..787ca68 100644
--- a/ccan/time/test/run-monotonic.c
+++ b/ccan/time/test/run-monotonic.c
@@ -7,7 +7,7 @@ int main(void)
 	struct timemono t1, t2;
 	struct timerel t3;
 
-	plan_tests(2);
+	plan_tests(3);
 
 	/* Test time_mono */
 	t1 = time_mono();
@@ -19,6 +19,7 @@ int main(void)
 	t3.ts.tv_nsec = 0;
 
 	ok1(time_less(timemono_between(t1, t2), t3));
+	ok1(time_less(timemono_since(t1), t3));
 
 	return exit_status();
 }
diff --git a/ccan/time/time.h b/ccan/time/time.h
index 5c916f4..54d92c5 100644
--- a/ccan/time/time.h
+++ b/ccan/time/time.h
@@ -127,7 +127,7 @@ struct timeabs time_now(void);
  * This value is only really useful for measuring time intervals.
  *
  * See also:
- *	time_since()
+ *	timemono_since()
  */
 struct timemono time_mono(void);
 
@@ -321,6 +321,17 @@ static inline struct timerel timemono_between(struct timemono recent,
 }
 
 /**
+ * timemono_since - elapsed monotonic time since @old
+ * @old: a monotonic time from the past.
+ */
+static inline struct timerel timemono_since(struct timemono old)
+{
+	struct timemono now = time_mono();
+
+	return timemono_between(now, old);
+}
+
+/**
  * timeabs_sub - subtract a relative time from an absolute time
  * @abs: the absolute time.
  * @rel: the relative time.
-- 
2.5.0



More information about the ccan mailing list