Fixed CPU frequency bug for linux, as posted in sourceforge forums

master
nathan 2015-01-22 02:21:55 +01:00
parent 1ffaea3966
commit 8f3dcde8b6
1 changed files with 8 additions and 4 deletions

View File

@ -135,7 +135,8 @@ uint64_t CTimer::readCPUFrequency()
#if defined(LINUX)
// extract cpu frequency from /proc/cpuinfo
float mhz = 0;
char str[256], p = NULL;
char str[256] = {};
char *p = NULL;
int find = 0;
FILE * fd = fopen("/proc/cpuinfo", "r");
@ -153,14 +154,17 @@ uint64_t CTimer::readCPUFrequency()
}
if (find) {
int i=0;
while(str[i++] != ':');
p = str;
while (p++ != ':');
p+=i;
sscanf(p, "%f", &mhz);
frequency = (uint64_t)mhz;
///printf("linux cpu MHz: %f, %lld\n", mhz, frequency);
// printf("linux cpu MHz: %f, %lld\n", mhz, frequency);
} else {
printf("Warning!!! /proc/cpuinfo cpu MHz unknown\n");
// printf("Warning!!! /proc/cpuinfo cpu MHz unknown\n");
// original behavior
uint64_t t1, t2;