forked from mia/Aegisub
Minor fixes to the reporter Linux support
* drop BSD-specific includes * document CPU cores/count vs. logical CPU count * close files properly * return memory size in bytes Originally committed to SVN as r3584.
This commit is contained in:
parent
6ce51f9435
commit
4d422b1997
1 changed files with 16 additions and 8 deletions
|
@ -24,12 +24,6 @@
|
||||||
#include <wx/log.h>
|
#include <wx/log.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
#include <sys/utsname.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/sysctl.h>
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "include/platform.h"
|
#include "include/platform.h"
|
||||||
#include "platform_unix.h"
|
#include "platform_unix.h"
|
||||||
#include "platform_unix_linux.h"
|
#include "platform_unix_linux.h"
|
||||||
|
@ -43,6 +37,11 @@ wxString PlatformUnixLinux::CPUSpeed() {
|
||||||
return getProcValue("/proc/cpuinfo", "cpu MHz\t\t");
|
return getProcValue("/proc/cpuinfo", "cpu MHz\t\t");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Linux doesn't report the number of real CPUs or physical CPU cores,
|
||||||
|
// but instead the number of "logical" CPUs; this also includes logical cores
|
||||||
|
// due to SMT/HyperThreading.
|
||||||
|
// For now report the logical CPU count and no number of cores; this seems
|
||||||
|
// to make the most sense.
|
||||||
wxString PlatformUnixLinux::CPUCores() {
|
wxString PlatformUnixLinux::CPUCores() {
|
||||||
return "";
|
return "";
|
||||||
};
|
};
|
||||||
|
@ -52,7 +51,7 @@ wxString PlatformUnixLinux::CPUCount() {
|
||||||
// Increment and return as string.
|
// Increment and return as string.
|
||||||
wxString procIndex = getProcValue("/proc/cpuinfo", "processor\t");
|
wxString procIndex = getProcValue("/proc/cpuinfo", "processor\t");
|
||||||
if (procIndex.IsNumber()) {
|
if (procIndex.IsNumber()) {
|
||||||
long val;
|
long val = 0;
|
||||||
procIndex.ToLong(&val);
|
procIndex.ToLong(&val);
|
||||||
return wxString::Format("%ld", val + 1);
|
return wxString::Format("%ld", val + 1);
|
||||||
}
|
}
|
||||||
|
@ -70,7 +69,15 @@ wxString PlatformUnixLinux::CPUFeatures2() {
|
||||||
};
|
};
|
||||||
|
|
||||||
wxString PlatformUnixLinux::Memory() {
|
wxString PlatformUnixLinux::Memory() {
|
||||||
return getProcValue("/proc/meminfo", "MemTotal");
|
wxString memKb = getProcValue("/proc/meminfo", "MemTotal");
|
||||||
|
memKb = memKb.BeforeFirst(' ');
|
||||||
|
if (memKb.IsNumber()) {
|
||||||
|
long val = 0;
|
||||||
|
memKb.ToLong(&val);
|
||||||
|
return wxString::Format("%ld", val * 1024);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
};
|
};
|
||||||
|
|
||||||
wxString PlatformUnixLinux::Video() {
|
wxString PlatformUnixLinux::Video() {
|
||||||
|
@ -99,6 +106,7 @@ wxString PlatformUnixLinux::getProcValue(const wxString path, const wxString key
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
file->Close();
|
||||||
delete file;
|
delete file;
|
||||||
return val;
|
return val;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue