summaryrefslogtreecommitdiffstats
path: root/src/Common/Backends/SystemBackendProc.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-09-19 12:55:56 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-09-19 12:55:56 +0200
commit5286ffcb30e3005569199c45bca38dfbf346cec3 (patch)
treeefe2d679c2dbec2618a37cf5f0edd85a067919b3 /src/Common/Backends/SystemBackendProc.cpp
parent45c735361b483bd44b5b59c3fb4b055ddbad129a (diff)
downloadmad-5286ffcb30e3005569199c45bca38dfbf346cec3.tar
mad-5286ffcb30e3005569199c45bca38dfbf346cec3.zip
Dateien in SystemBackendProc nicht nach jeder Abfrage schlie?en
Diffstat (limited to 'src/Common/Backends/SystemBackendProc.cpp')
-rw-r--r--src/Common/Backends/SystemBackendProc.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/Common/Backends/SystemBackendProc.cpp b/src/Common/Backends/SystemBackendProc.cpp
index 3a3f283..f2d9152 100644
--- a/src/Common/Backends/SystemBackendProc.cpp
+++ b/src/Common/Backends/SystemBackendProc.cpp
@@ -19,30 +19,29 @@
#include "SystemBackendProc.h"
-#include <fstream>
#include <pcrecpp.h>
namespace Mad {
namespace Common {
namespace Backends {
-SystemBackend::UptimeInfo SystemBackendProc::getUptimeInfo() const {
+SystemBackend::UptimeInfo SystemBackendProc::getUptimeInfo() {
UptimeInfo uptime = {0, 0};
- std::ifstream file("/proc/uptime");
+ uptimeFile.seekg(0, std::ios::beg);
- if(!file.good())
+ if(!uptimeFile.good())
return uptime;
float f;
- file >> f;
- if(!file.good())
+ uptimeFile >> f;
+ if(!uptimeFile.good())
return uptime;
uptime.uptime = (unsigned long)f;
- file >> f;
- if(!file.good())
+ uptimeFile >> f;
+ if(!uptimeFile.good())
return uptime;
uptime.idleTime = (unsigned long)f;
@@ -50,19 +49,19 @@ SystemBackend::UptimeInfo SystemBackendProc::getUptimeInfo() const {
return uptime;
}
-SystemBackend::MemoryInfo SystemBackendProc::getMemoryInfo() const {
+SystemBackend::MemoryInfo SystemBackendProc::getMemoryInfo() {
MemoryInfo memInfo = {0, 0, 0, 0};
- std::ifstream file("/proc/meminfo");
+ meminfoFile.seekg(0, std::ios::beg);
- if(!file.good())
+ if(!meminfoFile.good())
return memInfo;
pcrecpp::RE re("(.+):\\s*(\\d+).*");
- while(!file.eof() && file.good()) {
+ while(!meminfoFile.eof() && meminfoFile.good()) {
std::string line;
- std::getline(file, line);
+ std::getline(meminfoFile, line);
std::string name;
unsigned long value;