diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-12-02 12:15:07 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-12-02 12:15:07 -0500 |
commit | e6facbfe7abc50de374300ecd83873ead65b4b04 (patch) | |
tree | b4a56fa0d25e64effb33eaaed4d065ac7bc0d926 /src/common | |
parent | ca4a0ae0b18c2f3f14eb7a6243b52f5769216aa0 (diff) | |
download | tor-e6facbfe7abc50de374300ecd83873ead65b4b04.tar.gz tor-e6facbfe7abc50de374300ecd83873ead65b4b04.zip |
Add accessor for inspecting timer callbacks.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/timers.c | 14 | ||||
-rw-r--r-- | src/common/timers.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/common/timers.c b/src/common/timers.c index 41b2008ac4..e1ad47b15b 100644 --- a/src/common/timers.c +++ b/src/common/timers.c @@ -255,6 +255,20 @@ timer_set_cb(tor_timer_t *t, timer_cb_fn_t cb, void *arg) } /** + * Set *<b>cb_out</b> (if provided) to this timer's callback function, + * and *<b>arg_out</b> (if provided) to this timer's callback argument. + */ +void +timer_get_cb(const tor_timer_t *t, + timer_cb_fn_t *cb_out, void **arg_out) +{ + if (cb_out) + *cb_out = t->callback.cb; + if (arg_out) + *arg_out = t->callback.arg; +} + +/** * Schedule the timer t to fire at the current time plus a delay of * <b>delay</b> microseconds. All times are relative to monotime_get(). */ diff --git a/src/common/timers.h b/src/common/timers.h index 5f918f8e15..c5246a3335 100644 --- a/src/common/timers.h +++ b/src/common/timers.h @@ -13,6 +13,8 @@ typedef void (*timer_cb_fn_t)(tor_timer_t *, void *, const struct monotime_t *); tor_timer_t *timer_new(timer_cb_fn_t cb, void *arg); void timer_set_cb(tor_timer_t *t, timer_cb_fn_t cb, void *arg); +void timer_get_cb(const tor_timer_t *t, + timer_cb_fn_t *cb_out, void **arg_out); void timer_schedule(tor_timer_t *t, const struct timeval *delay); void timer_disable(tor_timer_t *t); void timer_free(tor_timer_t *t); |