Path: blob/main/devel/ChipmunkPhysics/files/patch-src_cpHastySpace.c
16124 views
--- src/cpHastySpace.c.orig 2015-07-02 16:24:47 UTC1+++ src/cpHastySpace.c2@@ -5,8 +5,11 @@3#include <stdio.h>45#include <pthread.h>6-//#include <sys/param.h >7-#include <sys/sysctl.h>8+#ifdef _WIN329+#include <windows.h>10+#else11+#include <unistd.h>12+#endif1314#include "chipmunk/chipmunk_private.h"15#include "chipmunk/cpHastySpace.h"16@@ -314,14 +317,20 @@ cpHastySpaceSetThreads(cpSpace *space, u17cpHastySpace *hasty = (cpHastySpace *)space;18HaltThreads(hasty);1920-#ifdef __APPLE__21if(threads == 0){22+#ifdef __APPLE__23size_t size = sizeof(threads);24sysctlbyname("hw.ncpu", &threads, &size, NULL, 0);25- }26+#elif defined(_SC_NPROCESSORS_ONLN)27+ threads = sysconf(_SC_NPROCESSORS_ONLN);28+#elif defined(_WIN32)29+ SYSTEM_INFO siSysInfo;30+ GetSystemInfo(&siSysInfo);31+ threads = siSysInfo.dwNumberOfProcessors;32#else33- if(threads == 0) threads = 1;34+ threads = 1;35#endif36+ }3738hasty->num_threads = (threads < MAX_THREADS ? threads : MAX_THREADS);39hasty->num_working = hasty->num_threads - 1;404142