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 <c...@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

_______________________________________________
ccan mailing list
ccan@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/ccan

Reply via email to