X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fwin32%2FOSThreads.c;h=c18bab2d09d693521de254a844b88ec47da732f9;hb=9060e51e4773bdff1829d17e3f7c42edb910d805;hp=24fbabeaad099750f0a910274842408004541c8b;hpb=3f9e522bb0e53ce262f68424870e2bbc9135b70a;p=ghc-hetmet.git diff --git a/rts/win32/OSThreads.c b/rts/win32/OSThreads.c index 24fbabe..c18bab2 100644 --- a/rts/win32/OSThreads.c +++ b/rts/win32/OSThreads.c @@ -13,6 +13,7 @@ #if defined(THREADED_RTS) #include "OSThreads.h" #include "RtsUtils.h" +#include /* For reasons not yet clear, the entire contents of process.h is protected * by __STRICT_ANSI__ not being defined. @@ -231,6 +232,26 @@ forkOS_createThread ( HsStablePtr entry ) (unsigned*)&pId) == 0); } +nat +getNumberOfProcessors (void) +{ + static nat nproc = 0; + + if (nproc == 0) { + SYSTEM_INFO si; + GetSystemInfo(&si); + nproc = si.dwNumberOfProcessors; + } + + return nproc; +} + +void +setThreadAffinity (nat n STG_UNUSED, nat m STG_UNUSED) +{ + /* ToDo */ +} + #else /* !defined(THREADED_RTS) */ int