diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2015-02-20 14:52:10 -0200 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2015-02-23 01:13:40 -0300 |
commit | 9780c312f40633a2ce23300cc76faf64e07a87ed (patch) | |
tree | 1d04f7070e5183f6f9aad77c91d4d81025868a24 /linux/LinuxProcessList.c | |
parent | cce2202a1ffdce2d6d775e3d0d5ced092d823598 (diff) |
Fix allocation of processes. Closes #166.
Conflicts:
Process.c
Process.h
ProcessList.c
ScreenManager.c
linux/LinuxProcessList.c
Diffstat (limited to 'linux/LinuxProcessList.c')
-rw-r--r-- | linux/LinuxProcessList.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c index c2d3fa7c..2bce78e5 100644 --- a/linux/LinuxProcessList.c +++ b/linux/LinuxProcessList.c @@ -319,6 +319,7 @@ static void LinuxProcessList_readCGroupFile(Process* process, const char* dirnam int nFields; char** fields = String_split(trimmed, ':', &nFields); free(trimmed); + free(process->cgroup); if (nFields >= 3) { process->cgroup = strndup(fields[2] + 1, 10); } else { @@ -464,7 +465,7 @@ static bool LinuxProcessList_processEntries(ProcessList* this, const char* dirna process = existingProcess; assert(process->pid == pid); } else { - process = Process_new(this); + process = (Process*) LinuxProcess_new(settings, this); assert(process->comm == NULL); process->pid = pid; process->tgid = parent ? parent->pid : pid; @@ -568,7 +569,7 @@ static bool LinuxProcessList_processEntries(ProcessList* this, const char* dirna if (existingProcess) ProcessList_remove(this, process); else - Process_delete((Object*)process); + LinuxProcess_delete((Object*)process); } } closedir(dir); |