if (GetLastError()) {
_winapi_perror("GetConsoleTitleW");
return NULL;
- }
- else {
+ } else {
// The title is empty, so return empty string
process_title = strdup("\0");
return process_title;
}
int Platform::GetCPUInfo(Local<Array> *cpus) {
+ HandleScope scope;
Local<Object> cpuinfo;
Local<Object> cputimes;
unsigned int ticks = (unsigned int)sysconf(_SC_CLK_TCK),
if (fpStat) {
while (fgets(line, 511, fpStat) != NULL) {
- if (strncmp(line, "cpu ", 4) == 0)
+ if (strncmp(line, "cpu ", 4) == 0) {
continue;
- else if (strncmp(line, "intr ", 5) == 0)
+ } else if (strncmp(line, "cpu", 3) != 0) {
break;
+ }
+
sscanf(line, "%*s %llu %llu %llu %llu",
&ticks_user, &ticks_nice, &ticks_sys, &ticks_idle);
snprintf(speedPath, sizeof(speedPath),
"/sys/devices/system/cpu/cpu%u/cpufreq/cpuinfo_max_freq", i);
+
fpSpeed = fopen(speedPath, "r");
if (fpSpeed) {
if (fgets(line, 511, fpSpeed) != NULL) {
return -1;
}
+
} // namespace node
if (fpStat) {
while (fgets(line, 511, fpStat) != NULL) {
- if (strncmp(line, "cpu ", 4) == 0)
+ if (strncmp(line, "cpu ", 4) == 0) {
continue;
- else if (strncmp(line, "intr ", 5) == 0)
+ } else if (strncmp(line, "cpu", 3) != 0) {
break;
+ }
+
sscanf(line, "%*s %llu %llu %llu %llu %*llu %llu",
&ticks_user, &ticks_nice, &ticks_sys, &ticks_idle, &ticks_intr);
snprintf(speedPath, sizeof(speedPath),
"/sys/devices/system/cpu/cpu%u/cpufreq/cpuinfo_max_freq", i);
+
fpSpeed = fopen(speedPath, "r");
+
if (fpSpeed) {
if (fgets(line, 511, fpSpeed) != NULL) {
sscanf(line, "%u", &cpuspeed);
}
fclose(fpSpeed);
}
+
cpuinfo = Object::New();
cputimes = Object::New();
cputimes->Set(String::New("user"), Number::New(ticks_user * multiplier));