From 8cb4a3ed3d44fa4f85e176aaeaaf1da1d6eab5b6 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 31 Oct 2016 11:24:28 +1030 Subject: [PATCH] io: update to use time_mono() for timers. Signed-off-by: Rusty Russell --- ccan/io/io.h | 4 ++-- ccan/io/poll.c | 10 +++++----- ccan/io/test/run-15-timeout.c | 7 +++---- ccan/io/test/run-20-io_time_override.c | 14 +++++++------- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/ccan/io/io.h b/ccan/io/io.h index 68dd5687..e24beec4 100644 --- a/ccan/io/io.h +++ b/ccan/io/io.h @@ -654,11 +654,11 @@ int io_conn_fd(const struct io_conn *conn); * io_time_override - override the normal call for time. * @nowfn: the function to call. * - * io usually uses time_now() internally, but this forces it + * io usually uses time_mono() internally, but this forces it * to use your function (eg. for debugging). Returns the old * one. */ -struct timeabs (*io_time_override(struct timeabs (*now)(void)))(void); +struct timemono (*io_time_override(struct timemono (*now)(void)))(void); /** * io_set_debug - set synchronous mode on a connection. diff --git a/ccan/io/poll.c b/ccan/io/poll.c index cddc3cac..36af33ef 100644 --- a/ccan/io/poll.c +++ b/ccan/io/poll.c @@ -16,11 +16,11 @@ static struct pollfd *pollfds = NULL; static struct fd **fds = NULL; static LIST_HEAD(closing); static LIST_HEAD(always); -static struct timeabs (*nowfn)(void) = time_now; +static struct timemono (*nowfn)(void) = time_mono; -struct timeabs (*io_time_override(struct timeabs (*now)(void)))(void) +struct timemono (*io_time_override(struct timemono (*now)(void)))(void) { - struct timeabs (*old)(void) = nowfn; + struct timemono (*old)(void) = nowfn; nowfn = now; return old; } @@ -262,7 +262,7 @@ void *io_loop(struct timers *timers, struct timer **expired) assert(num_waiting); if (timers) { - struct timeabs now, first; + struct timemono now, first; now = nowfn(); @@ -274,7 +274,7 @@ void *io_loop(struct timers *timers, struct timer **expired) /* Now figure out how long to wait for the next one. */ if (timer_earliest(timers, &first)) { uint64_t next; - next = time_to_msec(time_between(first, now)); + next = time_to_msec(timemono_between(first, now)); if (next < INT_MAX) ms_timeout = next; else diff --git a/ccan/io/test/run-15-timeout.c b/ccan/io/test/run-15-timeout.c index 5709ddaa..a4ab23ad 100644 --- a/ccan/io/test/run-15-timeout.c +++ b/ccan/io/test/run-15-timeout.c @@ -47,8 +47,7 @@ static struct io_plan *init_conn(struct io_conn *conn, struct data *d) d->conn = conn; io_set_finish(conn, finish_ok, d); - timer_add(&d->timers, &d->timer, - timeabs_add(time_now(), time_from_usec(d->timeout_usec))); + timer_addrel(&d->timers, &d->timer, time_from_usec(d->timeout_usec)); return io_read(conn, d->buf, sizeof(d->buf), no_timeout, d); } @@ -97,7 +96,7 @@ int main(void) plan_tests(21); d->state = 0; d->timeout_usec = 100000; - timers_init(&d->timers, time_now()); + timers_init(&d->timers, time_mono()); timer_init(&d->timer); fd = make_listen_fd(PORT, &addrinfo); ok1(fd >= 0); @@ -131,7 +130,7 @@ int main(void) /* One element, d->timer. */ ok1(expired == &d->timer); - ok1(!timers_expire(&d->timers, time_now())); + ok1(!timers_expire(&d->timers, time_mono())); ok1(d->state == 1); io_close(d->conn); diff --git a/ccan/io/test/run-20-io_time_override.c b/ccan/io/test/run-20-io_time_override.c index bf493c99..c0b607a7 100644 --- a/ccan/io/test/run-20-io_time_override.c +++ b/ccan/io/test/run-20-io_time_override.c @@ -45,9 +45,9 @@ static int make_listen_fd(const char *port, struct addrinfo **info) return fd; } -static struct timeabs fake_time; +static struct timemono fake_time; -static struct timeabs get_fake_time(void) +static struct timemono get_fake_time(void) { return fake_time; } @@ -63,12 +63,12 @@ int main(void) /* This is how many tests you plan to run */ plan_tests(7); - fake_time = time_now(); + fake_time = time_mono(); timers_init(&timers, fake_time); timer_init(&timer); - timer_add(&timers, &timer, - timeabs_add(fake_time, time_from_sec(1000))); + timer_addmono(&timers, &timer, + timemono_add(fake_time, time_from_sec(1000))); fd = make_listen_fd(PORT, &addrinfo); freeaddrinfo(addrinfo); @@ -77,12 +77,12 @@ int main(void) ok1(l); fake_time.ts.tv_sec += 1000; - ok1(io_time_override(get_fake_time) == time_now); + ok1(io_time_override(get_fake_time) == time_mono); ok1(io_loop(&timers, &expired) == NULL); ok1(expired == &timer); ok1(!timers_expire(&timers, fake_time)); - ok1(io_time_override(time_now) == get_fake_time); + ok1(io_time_override(time_mono) == get_fake_time); io_close_listener(l); timers_cleanup(&timers); -- 2.39.2