]> git.sesse.net Git - stockfish/commitdiff
Be sure we exit while loop with lock held
authorMarco Costalba <mcostalba@gmail.com>
Wed, 27 Jan 2010 18:23:16 +0000 (19:23 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Wed, 27 Jan 2010 18:23:16 +0000 (19:23 +0100)
This fixes an hang introduced by recent locking
rewrite patch.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/search.cpp

index 6d1949de88cb1cca13ba272214a2ee32b06033d5..45e91e591ad768e213d7b003dd7dad5f4ffc3137 100644 (file)
@@ -1990,7 +1990,10 @@ namespace {
       assert(value > -VALUE_INFINITE && value < VALUE_INFINITE);
 
       if (thread_should_stop(threadID))
+      {
+          lock_grab(&(sp->lock));
           break;
+      }
 
       // New best move?
       if (value > sp->bestValue) // Less then 2% of cases
@@ -2124,7 +2127,10 @@ namespace {
       assert(value > -VALUE_INFINITE && value < VALUE_INFINITE);
 
       if (thread_should_stop(threadID))
+      {
+          lock_grab(&(sp->lock));
           break;
+      }
 
       // New best move?
       if (value > sp->bestValue) // Less then 2% of cases