X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fposix%2FOSThreads.c;h=6eb2d2bc8e1039387c2b9a3cad06c6ccfd157a36;hb=0ee0be109fd00ec629f7a2ad6a597885a0c9d5b4;hp=6e01f825534117bb35cd4167ec584dd071c8bdea;hpb=3be1d26ced96ec689f22c97fd1dc077e956cee5d;p=ghc-hetmet.git diff --git a/rts/posix/OSThreads.c b/rts/posix/OSThreads.c index 6e01f82..6eb2d2b 100644 --- a/rts/posix/OSThreads.c +++ b/rts/posix/OSThreads.c @@ -179,6 +179,24 @@ forkOS_createThread ( HsStablePtr entry ) return result; } +nat +getNumberOfProcessors (void) +{ + static nat nproc = 0; + + if (nproc == 0) { +#if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN) + nproc = sysconf(_SC_NPROCESSORS_ONLN); +#elif defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_CONF) + nproc = sysconf(_SC_NPROCESSORS_CONF); +#else + nproc = 1; +#endif + } + + return nproc; +} + #else /* !defined(THREADED_RTS) */ int