summaryrefslogtreecommitdiffstats
path: root/Process.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2015-02-20 14:52:10 -0200
committerHisham Muhammad <hisham@gobolinux.org>2015-02-23 01:13:40 -0300
commit9780c312f40633a2ce23300cc76faf64e07a87ed (patch)
tree1d04f7070e5183f6f9aad77c91d4d81025868a24 /Process.c
parentcce2202a1ffdce2d6d775e3d0d5ced092d823598 (diff)
Fix allocation of processes. Closes #166.
Conflicts: Process.c Process.h ProcessList.c ScreenManager.c linux/LinuxProcessList.c
Diffstat (limited to 'Process.c')
-rw-r--r--Process.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/Process.c b/Process.c
index de25cbbb..dbdb4810 100644
--- a/Process.c
+++ b/Process.c
@@ -45,6 +45,8 @@ in the source distribution for its full text.
#include <sys/types.h>
+typedef struct Settings_ Settings;
+
#define PROCESS_FLAG_IO 1
#define PROCESS_FLAG_IOPRIO 2
#define PROCESS_FLAG_OPENVZ 4
@@ -643,14 +645,12 @@ static void Process_display(Object* cast, RichString* out) {
assert(out->chlen > 0);
}
-void Process_delete(Object* cast) {
- Process* this = (Process*) cast;
+void Process_done(Process* this) {
assert (this != NULL);
free(this->comm);
#ifdef HAVE_CGROUP
free(this->cgroup);
#endif
- free(this);
}
ObjectClass Process_class = {
@@ -660,9 +660,7 @@ ObjectClass Process_class = {
.compare = Process_compare
};
-Process* Process_new(struct ProcessList_ *pl) {
- Process* this = calloc(1, sizeof(Process));
- Object_setClass(this, Class(Process));
+void Process_init(Process* this, struct Settings_* settings, struct ProcessList_* pl) {
this->pid = 0;
this->pl = pl;
this->tag = false;
@@ -678,7 +676,6 @@ Process* Process_new(struct ProcessList_ *pl) {
this->cgroup = NULL;
#endif
if (Process_getuid == -1) Process_getuid = getuid();
- return this;
}
void Process_toggleTag(Process* this) {

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