From: Lennart Poettering Date: Wed, 6 Dec 2017 22:24:00 +0000 (+0100) Subject: manager: split out code that sets up run_queue event source into function of its own X-Git-Tag: v236~44^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=279d81dd46ae5fc58d5466cdec3e6c59b79d0269;p=thirdparty%2Fsystemd.git manager: split out code that sets up run_queue event source into function of its own Let's shorten manager_new() a bit. --- diff --git a/src/core/manager.c b/src/core/manager.c index be44ab3778d..de0a719a65a 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -603,6 +603,29 @@ static int manager_setup_prefix(Manager *m) { return 0; } +static int manager_setup_run_queue(Manager *m) { + int r; + + assert(m); + assert(!m->run_queue_event_source); + + r = sd_event_add_defer(m->event, &m->run_queue_event_source, manager_dispatch_run_queue, m); + if (r < 0) + return r; + + r = sd_event_source_set_priority(m->run_queue_event_source, SD_EVENT_PRIORITY_IDLE); + if (r < 0) + return r; + + r = sd_event_source_set_enabled(m->run_queue_event_source, SD_EVENT_OFF); + if (r < 0) + return r; + + (void) sd_event_source_set_description(m->run_queue_event_source, "manager-run-queue"); + + return 0; +} + int manager_new(UnitFileScope scope, unsigned test_run_flags, Manager **_m) { Manager *m; int r; @@ -687,20 +710,10 @@ int manager_new(UnitFileScope scope, unsigned test_run_flags, Manager **_m) { if (r < 0) goto fail; - r = sd_event_add_defer(m->event, &m->run_queue_event_source, manager_dispatch_run_queue, m); - if (r < 0) - goto fail; - - r = sd_event_source_set_priority(m->run_queue_event_source, SD_EVENT_PRIORITY_IDLE); - if (r < 0) - goto fail; - - r = sd_event_source_set_enabled(m->run_queue_event_source, SD_EVENT_OFF); + r = manager_setup_run_queue(m); if (r < 0) goto fail; - (void) sd_event_source_set_description(m->run_queue_event_source, "manager-run-queue"); - r = manager_setup_signals(m); if (r < 0) goto fail;