Browse Source

Fixed gb.h - the file handle for /proc/cpuinfo is needed to read chars.

Zac Pierson 8 years ago
parent
commit
7f6b83d50c
1 changed files with 5 additions and 1 deletions
  1. 5 1
      src/gb/gb.h

+ 5 - 1
src/gb/gb.h

@@ -5012,7 +5012,10 @@ void gb_affinity_init(gbAffinity *a) {
 	// Parsing /proc/cpuinfo to get the number of threads per core.
 	// NOTE(zangent): This calls the CPU's threads "cores", although the wording
 	// is kind of weird. This should be right, though.
-	if (fopen("/proc/cpuinfo", "r") != NULL) {
+
+	FILE* cpu_info = fopen("/proc/cpuinfo", "r");
+
+	if (cpu_info != NULL) {
 		for (;;) {
 			// The 'temporary char'. Everything goes into this char,
 			// so that we can check against EOF at the end of this loop.
@@ -5043,6 +5046,7 @@ void gb_affinity_init(gbAffinity *a) {
 			}
 #undef AF__CHECK
 		}
+		fclose(cpu_info);
 	}
 
 	if (threads == 0) {