X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Finhibit.c;h=c53ea8add7c6c1efe2da0812d1117362ce6d1a28;hb=1532f28b7cf3e6e02e74691450b2b5379be6b805;hp=9f349b7c73e8e529b458e7879ebb9e654916f936;hpb=dcee01125dde502bd8108c36ddf2026c1348865f;p=elogind.git diff --git a/src/login/inhibit.c b/src/login/inhibit.c index 9f349b7c7..c53ea8add 100644 --- a/src/login/inhibit.c +++ b/src/login/inhibit.c @@ -31,6 +31,9 @@ #include "util.h" #include "build.h" #include "strv.h" +#include "formats-util.h" +#include "process-util.h" +#include "signal-util.h" static const char* arg_what = "idle:sleep:shutdown"; static const char* arg_who = NULL; @@ -220,7 +223,7 @@ static int parse_argv(int argc, char *argv[]) { int main(int argc, char *argv[]) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_bus_close_unref_ sd_bus *bus = NULL; + _cleanup_bus_flush_close_unref_ sd_bus *bus = NULL; int r; log_parse_environment(); @@ -272,6 +275,9 @@ int main(int argc, char *argv[]) { if (pid == 0) { /* Child */ + (void) reset_all_signal_handlers(); + (void) reset_signal_mask(); + close_all_fds(NULL, 0); execvp(argv[optind], argv + optind);