From 98de92c50b06d9f2331ed8cebf1b3a05115ab50b Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 14 Jun 2019 13:23:23 +0930 Subject: [PATCH] lightningd/plugin: use ld's timer loop. Signed-off-by: Rusty Russell --- lightningd/plugin.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/lightningd/plugin.c b/lightningd/plugin.c index 829d1b24c..8693051f5 100644 --- a/lightningd/plugin.c +++ b/lightningd/plugin.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -77,7 +78,6 @@ struct plugins { struct log *log; struct log_book *log_book; - struct timers timers; struct lightningd *ld; }; @@ -107,7 +107,6 @@ struct plugins *plugins_new(const tal_t *ctx, struct log_book *log_book, list_head_init(&p->plugins); p->log_book = log_book; p->log = new_log(p, log_book, "plugin-manager"); - timers_init(&p->timers, time_mono()); p->ld = ld; return p; } @@ -969,7 +968,6 @@ void plugins_init(struct plugins *plugins, const char *dev_plugin_debug) struct plugin *p; char **cmd; int stdin, stdout; - struct timer *expired; struct jsonrpc_request *req; plugins->pending_manifests = 0; uintmap_init(&plugins->pending_requests); @@ -1009,19 +1007,15 @@ void plugins_init(struct plugins *plugins, const char *dev_plugin_debug) p->timeout_timer = NULL; else { p->timeout_timer - = new_reltimer(&plugins->timers, p, + = new_reltimer(plugins->ld->timers, p, time_from_sec(PLUGIN_MANIFEST_TIMEOUT), plugin_manifest_timeout, p); } tal_free(cmd); } - while (plugins->pending_manifests > 0) { - void *v = io_loop(&plugins->timers, &expired); - if (v == plugins) - break; - if (expired) - timer_expired(plugins, expired); - } + + if (plugins->pending_manifests > 0) + io_loop_with_timers(plugins->ld); } static void plugin_config_cb(const char *buffer,