diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2015-04-02 01:57:37 -0300 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2015-04-02 01:57:37 -0300 |
commit | d880def0e9b5dcce07917aa7cc71e49bddf21c16 (patch) | |
tree | d5f742c52db243d1098832669d1de78f574ccc0b /linux | |
parent | 4315e0c2a08b55e354d60225b8243ba1d3c6c309 (diff) | |
parent | cb8ac6b0f1f456f94efc8aead597faf6a95788da (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.c | 20 | ||||
-rw-r--r-- | linux/LinuxProcess.h | 6 | ||||
-rw-r--r-- | linux/LinuxProcessList.c | 2 |
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; |