X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Finhibit.c;h=bfee1ca063ed3ace2186cb1a840a9fbb49cac8e2;hb=d2338db3145922b1dfcb3b458e5bce2568a9347a;hp=9f349b7c73e8e529b458e7879ebb9e654916f936;hpb=dcee01125dde502bd8108c36ddf2026c1348865f;p=elogind.git diff --git a/src/login/inhibit.c b/src/login/inhibit.c index 9f349b7c7..bfee1ca06 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; @@ -176,9 +179,7 @@ static int parse_argv(int argc, char *argv[]) { return 0; case ARG_VERSION: - puts(PACKAGE_STRING); - puts(SYSTEMD_FEATURES); - return 0; + return version(); case ARG_WHAT: arg_what = optarg; @@ -220,9 +221,10 @@ 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; + elogind_set_program_name(argv[0]); log_parse_environment(); log_open(); @@ -272,6 +274,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);