chiark / gitweb /
core: introduce exit_status_set_is_empty() to make things a bit easier to read
authorLennart Poettering <lennart@poettering.net>
Thu, 3 Jul 2014 13:50:31 +0000 (15:50 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 3 Jul 2014 13:50:31 +0000 (15:50 +0200)
src/core/service.c
src/shared/exit-status.c
src/shared/exit-status.h

index be88670bd835fa2b6f5843b4f0146a0557f787bc..0b19767d9e725029327ed5ed1115c0775802aabc 100644 (file)
@@ -335,7 +335,7 @@ static int service_verify(Service *s) {
                 return -EINVAL;
         }
 
                 return -EINVAL;
         }
 
-        if (s->type == SERVICE_ONESHOT && !(set_isempty(s->restart_force_status.signal) && set_isempty(s->restart_force_status.status))) {
+        if (s->type == SERVICE_ONESHOT && !exit_status_set_is_empty(&s->restart_force_status)) {
                 log_error_unit(UNIT(s)->id, "%s has RestartForceStatus= set, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id);
                 return -EINVAL;
         }
                 log_error_unit(UNIT(s)->id, "%s has RestartForceStatus= set, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id);
                 return -EINVAL;
         }
index 942ac86128be814a384be4801d1dc3c77df938b9..f3434f7ccc3b5264952eed25b9e43f6a7118a4d7 100644 (file)
@@ -216,3 +216,10 @@ void exit_status_set_free(ExitStatusSet *x) {
         set_free(x->signal);
         x->status = x->signal = NULL;
 }
         set_free(x->signal);
         x->status = x->signal = NULL;
 }
+
+bool exit_status_set_is_empty(ExitStatusSet *x) {
+        if (!x)
+                return true;
+
+        return set_isempty(x->status) && set_isempty(x->signal);
+}
index 744f2d53762d126b27f94495ea6760845f1d6ac7..7438508e4d8561c1f38705c2745f4df8385f1213 100644 (file)
@@ -97,3 +97,4 @@ bool is_clean_exit(int code, int status, ExitStatusSet *success_status);
 bool is_clean_exit_lsb(int code, int status, ExitStatusSet *success_status);
 
 void exit_status_set_free(ExitStatusSet *x);
 bool is_clean_exit_lsb(int code, int status, ExitStatusSet *success_status);
 
 void exit_status_set_free(ExitStatusSet *x);
+bool exit_status_set_is_empty(ExitStatusSet *x);