X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Finhibit.c;h=bfee1ca063ed3ace2186cb1a840a9fbb49cac8e2;hb=39d8e47296d2465666c42bd163155881128a8fa8;hp=57cfb5d0b50855b801bb37cf41715ab8666281d1;hpb=901cf821ac8c13c78e1acb884f59baf41316fb8f;p=elogind.git diff --git a/src/login/inhibit.c b/src/login/inhibit.c index 57cfb5d0b..bfee1ca06 100644 --- a/src/login/inhibit.c +++ b/src/login/inhibit.c @@ -33,6 +33,7 @@ #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; @@ -178,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; @@ -222,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(); @@ -274,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);