Fix for systems where there's no /proc/PID/task/PID/. Closes #2789634.

This commit is contained in:
Hisham Muhammad 2010-11-20 20:27:37 +00:00
parent 0ff54ebac9
commit 10f007e07e
1 changed files with 4 additions and 2 deletions

View File

@ -532,6 +532,9 @@ static bool ProcessList_processEntries(ProcessList* this, const char* dirname, P
int pid; int pid;
// filename is a number: process directory // filename is a number: process directory
pid = atoi(name); pid = atoi(name);
if (pid == parentPid)
continue;
// The RedHat kernel hides threads with a dot. // The RedHat kernel hides threads with a dot.
// I believe this is non-standard. // I believe this is non-standard.
@ -571,8 +574,7 @@ static bool ProcessList_processEntries(ProcessList* this, const char* dirname, P
char subdirname[MAX_NAME+1]; char subdirname[MAX_NAME+1];
snprintf(subdirname, MAX_NAME, "%s/%s/task", dirname, name); snprintf(subdirname, MAX_NAME, "%s/%s/task", dirname, name);
if (ProcessList_processEntries(this, subdirname, process, pid, period)) ProcessList_processEntries(this, subdirname, process, pid, period);
continue;
} }
#ifdef HAVE_TASKSTATS #ifdef HAVE_TASKSTATS