-# if defined(_SC_NPROCESSORS_ONLN)
- return std::min((int)sysconf(_SC_NPROCESSORS_ONLN), MAX_THREADS);
-# elif defined(__hpux)
- struct pst_dynamic psd;
- if (pstat_getdynamic(&psd, sizeof(psd), (size_t)1, 0) == -1)
- return 1;
- return std::min((int)psd.psd_proc_cnt, MAX_THREADS);
-# else
- return 1;
-# endif
+void timed_wait(WaitCondition& sleepCond, Lock& sleepLock, int msec) {
+
+#ifdef _WIN32
+ int tm = msec;
+#else
+ timespec ts, *tm = &ts;
+ uint64_t ms = Time::now() + msec;