- void ThreadsManager::wake_sleeping_threads() {
-
- assert(AllThreadsShouldSleep);
- assert(ActiveThreads > 0);
-
- AllThreadsShouldSleep = false;
-
- if (ActiveThreads == 1)
- return;
-
-#if !defined(_MSC_VER)
- pthread_mutex_lock(&WaitLock);
- pthread_cond_broadcast(&WaitCond);
- pthread_mutex_unlock(&WaitLock);
-#else
- for (int i = 1; i < MAX_THREADS; i++)
- SetEvent(SitIdleEvent[i]);
-#endif