]> git.sesse.net Git - vlc/blobdiff - src/misc/cpu.c
"#if HAVE_FOO" -> "#ifdef HAVE_FOO"
[vlc] / src / misc / cpu.c
index fb705a249f4f3a677f9dfca9cf7c1225baa0df7c..fc6e437ed6dda7c176e54dff259a9a2cc3f5ba0d 100644 (file)
@@ -323,7 +323,7 @@ const struct
  */
 unsigned vlc_GetCPUCount(void)
 {
-#ifdef WIN32
+#if defined(WIN32) && !defined(UNDER_CE)
     DWORD process_mask;
     DWORD system_mask;
     if (!GetProcessAffinityMask(GetCurrentProcess(), &process_mask, &system_mask))
@@ -335,7 +335,7 @@ unsigned vlc_GetCPUCount(void)
         system_mask >>= 1;
     }
     return count;
-#elif HAVE_SCHED_GETAFFINITY
+#elif defined(HAVE_SCHED_GETAFFINITY)
     cpu_set_t cpu;
     CPU_ZERO(&cpu);
     if (sched_getaffinity(0, sizeof(cpu), &cpu) < 0)
@@ -344,6 +344,12 @@ unsigned vlc_GetCPUCount(void)
     for (unsigned i = 0; i < CPU_SETSIZE; i++)
         count += CPU_ISSET(i, &cpu) != 0;
     return count;
+#elif defined(__APPLE__)
+    int count;
+    size_t size = sizeof(count) ;
+    if (sysctlbyname("hw.ncpu", &count, &size, NULL, 0))
+        return 1; /* Failure */
+    return count;
 #else
 #   warning "vlc_GetCPUCount is not implemented for your platform"
     return 1;