From 5286ffcb30e3005569199c45bca38dfbf346cec3 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 19 Sep 2008 12:55:56 +0200 Subject: Dateien in SystemBackendProc nicht nach jeder Abfrage schlie?en --- src/Common/Backends/SystemBackendProc.cpp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src/Common/Backends/SystemBackendProc.cpp') 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 #include 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; -- cgit v1.2.3