From 8f42fc862f0580cb5ecafac3e16582a1a817cf54 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Thu, 10 Dec 2009 14:45:33 +0200 Subject: Improve status output. * doc/pies.texi: Document new status output format. * src/progman.c (progman_dump_stats): Redesign flags column. --- src/progman.c | 49 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) (limited to 'src/progman.c') diff --git a/src/progman.c b/src/progman.c index b035d21..e73a611 100644 --- a/src/progman.c +++ b/src/progman.c @@ -2247,26 +2247,45 @@ progman_dump_stats (const char *filename) switch (prog->type) { case TYPE_COMPONENT: - fbuf[fidx++] = 'C'; - if (prog->v.p.comp->mode == pies_comp_inetd - && prog->v.p.listener) - fbuf[fidx++] = 'i'; - - if (prog->pid) + switch (prog->v.p.comp->mode) { - if (prog->v.p.status == status_stopping) - fbuf[fidx++] = 'S'; - else - fbuf[fidx++] = 'R'; + case pies_comp_exec: + fbuf[fidx++] = 'C'; + break; + + case pies_comp_accept: + fbuf[fidx++] = 'A'; + break; + + case pies_comp_inetd: + fbuf[fidx++] = 'I'; + break; + + case pies_comp_pass_fd: + fbuf[fidx++] = 'P'; } - else if (prog->v.p.status == status_sleeping) + + switch (prog->v.p.status) { + case status_enabled: + fbuf[fidx++] = (prog->pid != 0) ? 'R' : ' '; + break; + + case status_disabled: + fbuf[fidx++] = 'D'; + break; + + case status_listener: + fbuf[fidx++] = 'L'; + break; + + case status_sleeping: fbuf[fidx++] = 's'; + break; + + case status_stopping: + fbuf[fidx++] = 'S'; } - else if (prog->v.p.status == status_disabled) - fbuf[fidx++] = 'D'; - else if (prog->v.p.status == status_listener) - fbuf[fidx++] = 'I'; break; case TYPE_REDIRECTOR: -- cgit v1.2.1