#if defined(DEBUG)
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
-#if defined(linux_HOST_OS)
- pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_ERRORCHECK_NP);
-#else
pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_ERRORCHECK);
-#endif
pthread_mutex_init(pMut,&attr);
#else
pthread_mutex_init(pMut,NULL);
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