if (streq(name, "PIDs")) {
DBusMessageIter sub;
+ unsigned n = 0;
if (dbus_message_iter_get_arg_type(i) != DBUS_TYPE_ARRAY ||
dbus_message_iter_get_element_type(i) != DBUS_TYPE_UINT32)
if (pid <= 1)
return -EINVAL;
- r = set_put(s->pids, LONG_TO_PTR(pid));
- if (r < 0 && r != -EEXIST)
- return r;
+ if (mode != UNIT_CHECK) {
+ r = set_put(s->pids, LONG_TO_PTR(pid));
+ if (r < 0 && r != -EEXIST)
+ return r;
+ }
dbus_message_iter_next(&sub);
+ n++;
}
- if (set_size(s->pids) <= 0)
+ if (n <= 0)
return -EINVAL;
return 1;
+
+ } else if (streq(name, "TimeoutStopUSec")) {
+
+ if (dbus_message_iter_get_arg_type(i) != DBUS_TYPE_UINT64)
+ return -EINVAL;
+
+ if (mode != UNIT_CHECK) {
+ uint64_t t;
+
+ dbus_message_iter_get_basic(i, &t);
+
+ s->timeout_stop_usec = t;
+ }
+
+ return 1;
}
return 0;