summaryrefslogtreecommitdiffstats
path: root/linux
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2015-05-13 15:00:58 -0300
committerHisham Muhammad <hisham@gobolinux.org>2015-05-13 15:00:58 -0300
commitf4f6d54ffd820243862c6189176a3159d2ebd7a6 (patch)
treef7561037460e7cb0cae163d22ccfe8849bceed00 /linux
parent64ecba25832c5f10571bf499a7bad768789b02a3 (diff)
Fix compilation of OpenVZ support.
Closes #185. Closes #190.
Diffstat (limited to 'linux')
-rw-r--r--linux/LinuxProcessList.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c
index 55f71968..926bebbc 100644
--- a/linux/LinuxProcessList.c
+++ b/linux/LinuxProcessList.c
@@ -106,10 +106,6 @@ ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList, ui
this->cpus[i].totalPeriod = 1;
}
- #ifdef HAVE_OPENVZ
- this->flags |= PROCESS_FLAG_LINUX_OPENVZ;
- #endif
-
return pl;
}
@@ -328,19 +324,18 @@ static bool LinuxProcessList_readStatmFile(LinuxProcess* process, const char* di
#ifdef HAVE_OPENVZ
-static void LinuxProcessList_readOpenVZData(ProcessList* this, Process* process, const char* dirname, const char* name) {
- if ( (!(this->flags & PROCESS_FLAG_LINUX_OPENVZ)) || (access("/proc/vz", R_OK) != 0)) {
- process->vpid = process->pid;
+static void LinuxProcessList_readOpenVZData(LinuxProcess* process, const char* dirname, const char* name) {
+ if ( (access("/proc/vz", R_OK) != 0)) {
+ process->vpid = process->super.pid;
process->ctid = 0;
- this->flags |= ~PROCESS_FLAG_LINUX_OPENVZ;
return;
}
char filename[MAX_NAME+1];
snprintf(filename, MAX_NAME, "%s/%s/stat", dirname, name);
FILE* file = fopen(filename, "r");
- if (!file)
+ if (!file)
return;
- (void) fscanf(file,
+ (void) fscanf(file,
"%*32u %*32s %*1c %*32u %*32u %*32u %*32u %*32u %*32u %*32u "
"%*32u %*32u %*32u %*32u %*32u %*32u %*32u %*32u "
"%*32u %*32u %*32u %*32u %*32u %*32u %*32u %*32u "
@@ -350,6 +345,7 @@ static void LinuxProcessList_readOpenVZData(ProcessList* this, Process* process,
"%*32u %*32u %32u %32u",
&process->vpid, &process->ctid);
fclose(file);
+ return;
}
#endif
@@ -551,22 +547,27 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, const char*
proc->user = UsersTable_getRef(pl->usersTable, proc->st_uid);
#ifdef HAVE_OPENVZ
- LinuxProcessList_readOpenVZData(this, lp, dirname, name);
+ if (settings->flags & PROCESS_FLAG_LINUX_OPENVZ) {
+ LinuxProcessList_readOpenVZData(lp, dirname, name);
+ }
#endif
#ifdef HAVE_VSERVER
- if (settings->flags & PROCESS_FLAG_LINUX_VSERVER)
+ if (settings->flags & PROCESS_FLAG_LINUX_VSERVER) {
LinuxProcessList_readVServerData(lp, dirname, name);
+ }
#endif
- if (! LinuxProcessList_readCmdlineFile(proc, dirname, name))
+ if (! LinuxProcessList_readCmdlineFile(proc, dirname, name)) {
goto errorReadingProcess;
+ }
ProcessList_add(pl, proc);
} else {
if (settings->updateProcessNames) {
- if (! LinuxProcessList_readCmdlineFile(proc, dirname, name))
+ if (! LinuxProcessList_readCmdlineFile(proc, dirname, name)) {
goto errorReadingProcess;
+ }
}
}

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