aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rc/rc-status.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rc/rc-status.c b/src/rc/rc-status.c
index 9dbf7c6b..8b73b812 100644
--- a/src/rc/rc-status.c
+++ b/src/rc/rc-status.c
@@ -300,10 +300,10 @@ int main(int argc, char **argv)
/* NOTREACHED */
case 'S':
services = rc_services_in_state(RC_SERVICE_STARTED);
- TAILQ_FOREACH(s, services, entries)
- if (rc_service_value_get(s->value, "child_pid")) {
- printf("%s\n", s->value);
- }
+ TAILQ_FOREACH_SAFE(s, services, entries, t)
+ if (!rc_service_value_get(s->value, "child_pid"))
+ TAILQ_REMOVE(services, s, entries);
+ print_services(NULL, services);
goto exit;
/* NOTREACHED */
case 's':