]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
run: can launch units with TimerSlackNSec
authorEvgeny Vereshchagin <evvers@ya.ru>
Thu, 15 Oct 2015 09:57:28 +0000 (09:57 +0000)
committerEvgeny Vereshchagin <evvers@ya.ru>
Thu, 15 Oct 2015 09:57:28 +0000 (09:57 +0000)
src/core/dbus-execute.c
src/shared/bus-util.c

index 8b1f830476dd98ba58044ffa3f74435f27da42c7..436229330e54d795e55092fdc0b1ea64efca2b9b 100644 (file)
@@ -1171,6 +1171,21 @@ int bus_exec_context_set_transient_property(
 
                 return 1;
 
+        } else if (streq(name, "TimerSlackNSec")) {
+
+                nsec_t n;
+
+                r = sd_bus_message_read(message, "t", &n);
+                if (r < 0)
+                        return r;
+
+                if (mode != UNIT_CHECK) {
+                        c->timer_slack_nsec = n;
+                        unit_write_drop_in_private_format(u, mode, name, "TimerSlackNSec=" NSEC_FMT "\n", n);
+                }
+
+                return 1;
+
         } else if (rlimit_from_string(name) >= 0) {
                 uint64_t rl;
                 rlim_t x;
index 3a45ac4064262e1b776af04523c7dfa12081fa57..a5d6edbba94a38c502297c8a3f25a79f90f0a4d1 100644 (file)
@@ -1655,7 +1655,16 @@ int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignmen
                 }
 
                 r = sd_bus_message_append(m, "v", "t", u);
+        } else if (streq(field, "TimerSlackNSec")) {
+                nsec_t n;
 
+                r = parse_nsec(eq, &n);
+                if (r < 0) {
+                        log_error("Failed to parse %s value %s", field, eq);
+                        return -EINVAL;
+                }
+
+                r = sd_bus_message_append(m, "v", "t", n);
         } else {
                 log_error("Unknown assignment %s.", assignment);
                 return -EINVAL;