summaryrefslogtreecommitdiff
path: root/src/core/manager.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-11-12 20:13:42 +0100
committerLennart Poettering <lennart@poettering.net>2015-11-12 20:14:06 +0100
commit53f18416690939479ff9bd4d4339107791061fd9 (patch)
tree8aa685ecfb23e75fbb80f27ab95b1fe4c708fc2c /src/core/manager.c
parent4bd29fe5cec9d744a4e39240c76b85d999bd2cf7 (diff)
core: unify code that warns about jobs we fail to enqueue
This allows us to shorten our code a bit.
Diffstat (limited to 'src/core/manager.c')
-rw-r--r--src/core/manager.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/core/manager.c b/src/core/manager.c
index 361bdb22e7..a18868083f 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1238,7 +1238,7 @@ tr_abort:
return r;
}
-int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, sd_bus_error *e, Job **_ret) {
+int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, sd_bus_error *e, Job **ret) {
Unit *unit;
int r;
@@ -1251,7 +1251,23 @@ int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode
if (r < 0)
return r;
- return manager_add_job(m, type, unit, mode, e, _ret);
+ return manager_add_job(m, type, unit, mode, e, ret);
+}
+
+int manager_add_job_by_name_and_warn(Manager *m, JobType type, const char *name, JobMode mode, Job **ret) {
+ _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
+ int r;
+
+ assert(m);
+ assert(type < _JOB_TYPE_MAX);
+ assert(name);
+ assert(mode < _JOB_MODE_MAX);
+
+ r = manager_add_job_by_name(m, type, name, mode, &error, ret);
+ if (r < 0)
+ return log_warning_errno(r, "Failed to enqueue %s job for %s: %s", job_mode_to_string(mode), name, bus_error_message(&error, r));
+
+ return r;
}
Job *manager_get_job(Manager *m, uint32_t id) {