summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Process.c4
-rw-r--r--Process.h2
-rw-r--r--linux/LinuxProcess.c2
3 files changed, 6 insertions, 2 deletions
diff --git a/Process.c b/Process.c
index 6551afd7..18360802 100644
--- a/Process.c
+++ b/Process.c
@@ -174,6 +174,8 @@ typedef struct ProcessClass_ {
#define Process_isChildOf(process_, pid_) (process_->tgid == pid_ || (process_->tgid == process_->pid && process_->ppid == pid_))
+#define Process_sortState(state) ((state) == 'I' ? 0x100 : (state))
+
}*/
static int Process_getuid = -1;
@@ -598,7 +600,7 @@ long Process_compare(const void* v1, const void* v2) {
return (p1->starttime_ctime - p2->starttime_ctime);
}
case STATE:
- return (p1->state - p2->state);
+ return (Process_sortState(p1->state) - Process_sortState(p2->state));
case ST_UID:
return (p1->st_uid - p2->st_uid);
case TIME:
diff --git a/Process.h b/Process.h
index 5b8ffdba..5179bb6f 100644
--- a/Process.h
+++ b/Process.h
@@ -153,6 +153,8 @@ typedef struct ProcessClass_ {
#define Process_isChildOf(process_, pid_) (process_->tgid == pid_ || (process_->tgid == process_->pid && process_->ppid == pid_))
+#define Process_sortState(state) ((state) == 'I' ? 0x100 : (state))
+
#define ONE_K 1024L
#define ONE_M (ONE_K * ONE_K)
diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c
index 72408cfa..39b5647e 100644
--- a/linux/LinuxProcess.c
+++ b/linux/LinuxProcess.c
@@ -155,7 +155,7 @@ ProcessFieldData Process_fields[] = {
[0] = { .name = "", .title = NULL, .description = NULL, .flags = 0, },
[PID] = { .name = "PID", .title = " PID ", .description = "Process/thread ID", .flags = 0, },
[COMM] = { .name = "Command", .title = "Command ", .description = "Command line", .flags = 0, },
- [STATE] = { .name = "STATE", .title = "S ", .description = "Process state (S sleeping, R running, D disk, Z zombie, T traced, W paging)", .flags = 0, },
+ [STATE] = { .name = "STATE", .title = "S ", .description = "Process state (S sleeping, R running, D disk, Z zombie, T traced, W paging, I idle)", .flags = 0, },
[PPID] = { .name = "PPID", .title = " PPID ", .description = "Parent process ID", .flags = 0, },
[PGRP] = { .name = "PGRP", .title = " PGRP ", .description = "Process group ID", .flags = 0, },
[SESSION] = { .name = "SESSION", .title = " SID ", .description = "Process's session ID", .flags = 0, },