aboutsummaryrefslogtreecommitdiff
path: root/src/progman.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/progman.c')
-rw-r--r--src/progman.c49
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:

Return to:

Send suggestions and report system problems to the System administrator.