X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus-scope.c;h=a762223c81d73c4d145cdc974c5280d06ed293ac;hb=45071fcaa03eafc27352987fa2277b2792725036;hp=b9e3be483b679254dbcda7d9e0bada2fb5b55719;hpb=151b9b9662a90455262ce575a8a8ae74bf4ff336;p=elogind.git diff --git a/src/core/dbus-scope.c b/src/core/dbus-scope.c index b9e3be483..a762223c8 100644 --- a/src/core/dbus-scope.c +++ b/src/core/dbus-scope.c @@ -25,6 +25,7 @@ #include "dbus-cgroup.h" #include "dbus-kill.h" #include "dbus-scope.h" +#include "dbus.h" #include "bus-util.h" #include "bus-internal.h" #include "bus-errors.h" @@ -37,6 +38,12 @@ static int bus_scope_abandon(sd_bus *bus, sd_bus_message *message, void *userdat assert(message); assert(s); + r = bus_verify_manage_unit_async(UNIT(s)->manager, message, error); + if (r < 0) + return r; + if (r == 0) + return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ + r = scope_abandon(s); if (sd_bus_error_is_set(error)) return r; @@ -138,7 +145,7 @@ static int bus_scope_set_transient_property( if (r < 0) return r; - unit_write_drop_in_format(UNIT(s), mode, name, "[Scope]\nTimeoutStopSec=%lluus\n", (unsigned long long) s->timeout_stop_usec); + unit_write_drop_in_format(UNIT(s), mode, name, "[Scope]\nTimeoutStopSec="USEC_FMT"us\n", s->timeout_stop_usec); } else { r = sd_bus_message_skip(message, "t"); if (r < 0)