X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftimer%2F_info;h=c3a01e301e8328cb985042ede9e758ba430672ed;hp=580b115c563d289d6a1195af61cd5e53ca471124;hb=4ba104904176bc059167757c10d461703b6b06dc;hpb=daf9ee7d8e2b683ff05283beb1843611ad8c9e8a diff --git a/ccan/timer/_info b/ccan/timer/_info index 580b115c..c3a01e30 100644 --- a/ccan/timer/_info +++ b/ccan/timer/_info @@ -1,5 +1,6 @@ -#include #include "config.h" +#include +#include /** * timer - efficient implementation of rarely-expiring timers. @@ -27,29 +28,27 @@ * { * struct timers timers; * struct list_head strings; - * struct list_head expired; + * struct timer *t; * struct timed_string *s; * - * timers_init(&timers, time_now()); + * timers_init(&timers, time_mono()); * list_head_init(&strings); * * while (argv[1]) { * s = malloc(sizeof(*s)); * s->string = argv[1]; - * timer_add(&timers, &s->timer, - * timeabs_add(time_now(), - * time_from_msec(atol(argv[2])))); + * timer_addrel(&timers, &s->timer, + * time_from_msec(atol(argv[2]))); * list_add_tail(&strings, &s->node); * argv += 2; * } * * while (!list_empty(&strings)) { - * struct timeabs now = time_now(); + * struct timemono now = time_mono(); * list_for_each(&strings, s, node) * printf("%s", s->string); - * timers_expire(&timers, now, &expired); - * while ((s = list_pop(&expired, struct timed_string, - * timer.list)) != NULL) { + * while ((t = timers_expire(&timers, now)) != NULL) { + * s = container_of(t, struct timed_string, timer); * list_del_from(&strings, &s->node); * free(s); * }