X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fsystemctl%2Fsystemctl.c;h=1ab4794bd6e52948c28c36e3a295520a32e38f14;hp=03720f411d7b41fc4cdebc09b5ed8bb8308c1e25;hb=b4af5a803aa71a57733ca46fef29b7afb20a626c;hpb=2040ccf171404b709acb0ecf1d1f17b87c5d05f0 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 03720f411..1ab4794bd 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -3170,6 +3170,7 @@ typedef struct UnitStatusInfo { const char *status_text; const char *pid_file; bool running:1; + int status_errno; usec_t start_timestamp; usec_t exit_timestamp; @@ -3441,6 +3442,8 @@ static void print_status_info( if (i->status_text) printf(" Status: \"%s\"\n", i->status_text); + if (i->status_errno > 0) + printf(" Error: %i (%s)\n", i->status_errno, strerror(i->status_errno)); if (i->control_group && (i->main_pid > 0 || i->control_pid > 0 || @@ -3661,6 +3664,8 @@ static int status_property(const char *name, sd_bus_message *m, UnitStatusInfo * i->exit_code = (int) j; else if (streq(name, "ExecMainStatus")) i->exit_status = (int) j; + else if (streq(name, "StatusErrno")) + i->status_errno = (int) j; break; }