summaryrefslogtreecommitdiffstats
path: root/linux
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2015-04-02 01:57:37 -0300
committerHisham Muhammad <hisham@gobolinux.org>2015-04-02 01:57:37 -0300
commitd880def0e9b5dcce07917aa7cc71e49bddf21c16 (patch)
treed5f742c52db243d1098832669d1de78f574ccc0b /linux
parent4315e0c2a08b55e354d60225b8243ba1d3c6c309 (diff)
parentcb8ac6b0f1f456f94efc8aead597faf6a95788da (diff)
Merge branch 'master' into wip
Conflicts: Process.c Process.h htop.c linux/LinuxProcess.c linux/LinuxProcess.h test_spec.lua
Diffstat (limited to 'linux')
-rw-r--r--linux/LinuxProcess.c20
-rw-r--r--linux/LinuxProcess.h6
-rw-r--r--linux/LinuxProcessList.c2
3 files changed, 20 insertions, 8 deletions
diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c
index 409a4ae5..0e73b20a 100644
--- a/linux/LinuxProcess.c
+++ b/linux/LinuxProcess.c
@@ -261,9 +261,19 @@ void Process_setupColumnWidths() {
}
}
+ProcessClass LinuxProcess_class = {
+ .super = {
+ .extends = Class(Process),
+ .display = Process_display,
+ .delete = Process_delete,
+ .compare = LinuxProcess_compare
+ },
+ .writeField = (Process_WriteField) LinuxProcess_writeField,
+};
+
LinuxProcess* LinuxProcess_new(Settings* settings) {
LinuxProcess* this = calloc(sizeof(LinuxProcess), 1);
- Object_setClass(this, Class(Process));
+ Object_setClass(this, Class(LinuxProcess));
Process_init(&this->super, settings);
return this;
}
@@ -298,7 +308,7 @@ bool LinuxProcess_setIOPriority(LinuxProcess* this, IOPriority ioprio) {
return (LinuxProcess_updateIOPriority(this) == ioprio);
}
-void Process_writeField(Process* this, RichString* str, ProcessField field) {
+void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field) {
LinuxProcess* lp = (LinuxProcess*) this;
bool coloring = this->settings->highlightMegabytes;
char buffer[256]; buffer[255] = '\0';
@@ -360,13 +370,13 @@ void Process_writeField(Process* this, RichString* str, ProcessField field) {
break;
}
default:
- Process_writeDefaultField(this, str, field);
+ Process_writeField((Process*)this, str, field);
return;
}
RichString_append(str, attr, buffer);
}
-long Process_compare(const void* v1, const void* v2) {
+long LinuxProcess_compare(const void* v1, const void* v2) {
LinuxProcess *p1, *p2;
Settings *settings = ((Process*)v1)->settings;
if (settings->direction == 1) {
@@ -425,7 +435,7 @@ long Process_compare(const void* v1, const void* v2) {
case IO_PRIORITY:
return LinuxProcess_effectiveIOPriority(p1) - LinuxProcess_effectiveIOPriority(p2);
default:
- return Process_defaultCompare(v1, v2);
+ return Process_compare(v1, v2);
}
test_diff:
return (diff > 0) ? 1 : (diff < 0 ? -1 : 0);
diff --git a/linux/LinuxProcess.h b/linux/LinuxProcess.h
index 55fa1b9e..bfc70234 100644
--- a/linux/LinuxProcess.h
+++ b/linux/LinuxProcess.h
@@ -137,6 +137,8 @@ extern char* Process_tpgidFormat;
void Process_setupColumnWidths();
+extern ProcessClass LinuxProcess_class;
+
LinuxProcess* LinuxProcess_new(Settings* settings);
void Process_delete(Object* cast);
@@ -155,9 +157,9 @@ IOPriority LinuxProcess_updateIOPriority(LinuxProcess* this);
bool LinuxProcess_setIOPriority(LinuxProcess* this, IOPriority ioprio);
-void Process_writeField(Process* this, RichString* str, ProcessField field);
+void LinuxProcess_writeField(Process* this, RichString* str, ProcessField field);
-long Process_compare(const void* v1, const void* v2);
+long LinuxProcess_compare(const void* v1, const void* v2);
bool Process_isThread(Process* this);
diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c
index 1c5f2059..b9c4073c 100644
--- a/linux/LinuxProcessList.c
+++ b/linux/LinuxProcessList.c
@@ -517,7 +517,7 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, const char*
continue;
bool preExisting = false;
- Process* proc = ProcessList_getProcess(pl, pid, &preExisting, (Process_new_fn) LinuxProcess_new);
+ Process* proc = ProcessList_getProcess(pl, pid, &preExisting, (Process_New) LinuxProcess_new);
proc->tgid = parent ? parent->pid : pid;
LinuxProcess* lp = (LinuxProcess*) proc;

© 2014-2024 Faster IT GmbH | imprint | privacy policy