From fc1bfe4234714cdcc6b158ec04cb3f92c7c8caa7 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Fri, 28 Sep 2007 15:04:15 +0000 Subject: Crashed is not a baselayout state as such --- src/rc-status.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/rc-status.c') diff --git a/src/rc-status.c b/src/rc-status.c index dacbe851..b862a27c 100644 --- a/src/rc-status.c +++ b/src/rc-status.c @@ -35,23 +35,25 @@ static void print_service (char *service) einfo_color_t color = ECOLOR_BAD; if (state & RC_SERVICE_STOPPING) - snprintf (status, sizeof (status), "stopping "); + snprintf (status, sizeof (status), "stopping "); else if (state & RC_SERVICE_STARTING) { snprintf (status, sizeof (status), "starting "); color = ECOLOR_WARN; } else if (state & RC_SERVICE_INACTIVE) { snprintf (status, sizeof (status), "inactive "); color = ECOLOR_WARN; - } else if (state & RC_SERVICE_CRASHED) - snprintf (status, sizeof (status), " crashed "); - else if (state & RC_SERVICE_STARTED) { - snprintf (status, sizeof (status), " started "); - color = ECOLOR_GOOD; + } else if (state & RC_SERVICE_STARTED) { + if (geteuid () == 0 && rc_service_daemons_crashed (service)) + snprintf (status, sizeof (status), " crashed "); + else { + snprintf (status, sizeof (status), " started "); + color = ECOLOR_GOOD; + } } else if (state & RC_SERVICE_SCHEDULED) { snprintf (status, sizeof (status), "scheduled"); color = ECOLOR_WARN; } else - snprintf (status, sizeof (status), " stopped "); + snprintf (status, sizeof (status), " stopped "); ebracket (cols, color, status); } -- cgit v1.2.3