From 413d6313d82ef4f50a4186cfadd8a6b1e4e65164 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 16 May 2010 04:30:45 +0200 Subject: [PATCH 1/1] manager: don't dispatch load queue if we don't have to --- manager.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/manager.c b/manager.c index 89b210d6a..81af07b00 100644 --- a/manager.c +++ b/manager.c @@ -1563,7 +1563,7 @@ int manager_load_unit_prepare(Manager *m, const char *name, const char *path, Un if ((ret = manager_get_unit(m, name))) { *_ret = ret; - return 0; + return 1; } if (!(ret = unit_new(m))) @@ -1590,7 +1590,6 @@ int manager_load_unit_prepare(Manager *m, const char *name, const char *path, Un } int manager_load_unit(Manager *m, const char *name, const char *path, Unit **_ret) { - Unit *ret; int r; assert(m); @@ -1598,13 +1597,13 @@ int manager_load_unit(Manager *m, const char *name, const char *path, Unit **_re /* This will load the service information files, but not actually * start any services or anything. */ - if ((r = manager_load_unit_prepare(m, name, path, &ret)) < 0) + if ((r = manager_load_unit_prepare(m, name, path, _ret)) != 0) return r; manager_dispatch_load_queue(m); if (_ret) - *_ret = unit_follow_merge(ret); + *_ret = unit_follow_merge(*_ret); return 0; } -- 2.30.2