diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-12-10 14:45:33 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-12-10 14:45:33 +0200 |
commit | 8f42fc862f0580cb5ecafac3e16582a1a817cf54 (patch) | |
tree | b17f8ef02468741a10abe1fd493daeb999c5758a /src | |
parent | 8fbc93d51cc9ac7a302a6e909df49f8e2ecf2063 (diff) | |
download | pies-8f42fc862f0580cb5ecafac3e16582a1a817cf54.tar.gz pies-8f42fc862f0580cb5ecafac3e16582a1a817cf54.tar.bz2 |
Improve status output.
* doc/pies.texi: Document new status output format.
* src/progman.c (progman_dump_stats): Redesign flags column.
Diffstat (limited to 'src')
-rw-r--r-- | src/progman.c | 49 |
1 files changed, 34 insertions, 15 deletions
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: |