]> git.sesse.net Git - stockfish/blobdiff - src/thread.h
Thread::splitPoint is a volatile pointer
[stockfish] / src / thread.h
index 869778401585bac199b98a1a39f28d82ca218d10..782694ad7d25607e8161b1be8ce9803022222332 100644 (file)
@@ -51,11 +51,10 @@ struct SplitPoint {
   // Const data after splitPoint has been setup
   SplitPoint* parent;
   const Position* pos;
-  bool pvNode;
   Depth depth;
-  bool mateThreat;
+  bool pvNode, mateThreat;
   Value beta;
-  int ply, master, slaves[MAX_THREADS];
+  int ply;
   SearchStack sstack[MAX_THREADS][PLY_MAX_PLUS_2];
 
   // Const pointers to shared data
@@ -66,9 +65,9 @@ struct SplitPoint {
   Lock lock;
   volatile Value alpha;
   volatile Value bestValue;
-  volatile int moves;
-  volatile int cpus;
+  volatile int moveCount;
   volatile bool stopRequest;
+  volatile int slaves[MAX_THREADS];
 };
 
 // ThreadState type is used to represent thread's current state
@@ -84,7 +83,7 @@ enum ThreadState
 };
 
 struct Thread {
-  SplitPoint* splitPoint;
+  SplitPoint* volatile splitPoint;
   volatile int activeSplitPoints;
   uint64_t nodes;
   uint64_t betaCutOffs[2];