Use only one ConditionVariable to sync UI
authorMarco Costalba <mcostalba@gmail.com>
Fri, 20 Mar 2015 16:58:43 +0000 (17:58 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 21 Mar 2015 06:55:33 +0000 (07:55 +0100)
commit26dabb1e6bcd8035f0f3516c4358a73f2b041a1c
treedff74ab6a8cd5f47d063f08b344b78e74e53b96e
parent35b6079852ca2b1a12167e4b42b197501d2cc554
Use only one ConditionVariable to sync UI

To sync UI with main thread it is enough a single
condition variable because here we have a single
producer / single consumer design pattern.

Two condition variables are strictly needed just for
many producers / many consumers case.

Note that this is possible because now we don't send to
sleep idle threads anymore while searching, so that now
only UI can wake up the main thread and we can use the
same ConditionVariable for both threads.

The natural consequence is to retire wait_for_think_finished()
and move all the logic under MainThread class, yielding the
rename of teh function to join()

No functional change.
src/benchmark.cpp
src/thread.cpp
src/thread.h
src/uci.cpp