aboutsummaryrefslogtreecommitdiff
path: root/src/rc
diff options
context:
space:
mode:
Diffstat (limited to 'src/rc')
-rw-r--r--src/rc/rc-status.c8
-rw-r--r--src/rc/runscript.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/src/rc/rc-status.c b/src/rc/rc-status.c
index e4917c86..a64ab1b5 100644
--- a/src/rc/rc-status.c
+++ b/src/rc/rc-status.c
@@ -103,9 +103,13 @@ static void print_service(const char *service)
snprintf(status, sizeof(status), "inactive ");
color = ECOLOR_WARN;
} else if (state & RC_SERVICE_STARTED) {
- if (test_crashed && rc_service_daemons_crashed(service))
+ errno = 0;
+ if (test_crashed &&
+ rc_service_daemons_crashed(service) &&
+ errno != EACCES)
+ {
snprintf(status, sizeof(status), " crashed ");
- else {
+ } else {
snprintf(status, sizeof(status), " started ");
color = ECOLOR_GOOD;
}
diff --git a/src/rc/runscript.c b/src/rc/runscript.c
index 2f96d7ac..5977715a 100644
--- a/src/rc/runscript.c
+++ b/src/rc/runscript.c
@@ -559,8 +559,10 @@ static RC_SERVICE svc_status(void)
snprintf(status, sizeof(status), "inactive");
e = &ewarn;
} else if (state & RC_SERVICE_STARTED) {
+ errno = 0;
if (_rc_can_find_pids() &&
- rc_service_daemons_crashed(service))
+ rc_service_daemons_crashed(service) &&
+ errno != EACCES)
{
snprintf(status, sizeof(status), "crashed");
e = &eerror;