X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fthread.cpp;h=394e06980c7f83f1b9b30e810b016bd726e4ce81;hp=bc26d4df3462ffe354085bc6c2fe00688b2739a6;hb=cb1709ef5e6f96d8db44854b42b67fb524214717;hpb=67338e6f322b8f8ec0d897815e16a87937efc9b0 diff --git a/src/thread.cpp b/src/thread.cpp index bc26d4df..394e0698 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -202,7 +202,7 @@ void ThreadsManager::exit() { // Wait for thread termination #if defined(_MSC_VER) - WaitForSingleObject(threads[i].handle, 0); + WaitForSingleObject(threads[i].handle, INFINITE); CloseHandle(threads[i].handle); #else pthread_join(threads[i].handle, NULL); @@ -452,7 +452,8 @@ void ThreadsManager::start_thinking(const Position& pos, const LimitsType& limit cond_signal(&main.sleepCond); // Wake up main thread and start searching if (!asyncMode) - cond_wait(&sleepCond, &main.sleepLock); + while (!main.do_sleep) + cond_wait(&sleepCond, &main.sleepLock); lock_release(&main.sleepLock); }