]> git.sesse.net Git - vlc/commitdiff
vlc_GetCPUCount: use counting functions instead of loop
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 29 Jun 2011 18:02:58 +0000 (21:02 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 29 Jun 2011 18:02:58 +0000 (21:02 +0300)
src/posix/thread.c
src/win32/thread.c

index 93b7ca1f9f64280a1919ee7a8ce5237627606bd8..561f93a268ff8b33b40a41fa8860ed560b15f0f1 100644 (file)
@@ -1038,10 +1038,7 @@ unsigned vlc_GetCPUCount(void)
     if (sched_getaffinity (getpid(), sizeof (cpu), &cpu) < 0)
         return 1;
 
-    unsigned count = 0;
-    for (unsigned i = 0; i < CPU_SETSIZE; i++)
-        count += CPU_ISSET(i, &cpu) != 0;
-    return count;
+    return CPU_COUNT (&cpu);
 
 #elif defined(__APPLE__)
     int count;
index dbd2e512f800e0ee18190ace3e989607a05085de..9b83f84cc674fdc754768ceaf0b66dd1277949d4 100644 (file)
@@ -916,15 +916,7 @@ unsigned vlc_GetCPUCount (void)
     DWORD system;
 
     if (GetProcessAffinityMask (GetCurrentProcess(), &process, &system))
-    {
-        unsigned count = 0;
-        while (system)
-        {
-            count++;
-            system >>= 1;
-        }
-        return count;
-     }
+        return popcount (system);
 #endif
      return 1;
 }