]> git.sesse.net Git - stockfish/blobdiff - src/thread_win32.h
Update Copyright year
[stockfish] / src / thread_win32.h
index a3abd65cbfb7863913fa0ab1b11c569d00d1d6b1..2578c8859b1cf5e279cce72b7f684c075dce6c18 100644 (file)
@@ -1,7 +1,7 @@
 /*
   Stockfish, a UCI chess playing engine derived from Glaurung 2.1
   Copyright (C) 2004-2008 Tord Romstad (Glaurung author)
-  Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad
+  Copyright (C) 2008-2016 Marco Costalba, Joona Kiiski, Tord Romstad
 
   Stockfish is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -57,29 +57,7 @@ private:
   CRITICAL_SECTION cs;
 };
 
-struct ConditionVariable {
-  ConditionVariable() { hn = CreateEvent(0, FALSE, FALSE, 0); }
- ~ConditionVariable() { CloseHandle(hn); }
-  void notify_one() { SetEvent(hn); }
-
-  void wait(std::unique_lock<Mutex>& lk) {
-    lk.unlock();
-    WaitForSingleObject(hn, INFINITE);
-    lk.lock();
-  }
-
-  void wait_for(std::unique_lock<Mutex>& lk, const std::chrono::milliseconds& ms) {
-    lk.unlock();
-    WaitForSingleObject(hn, ms.count());
-    lk.lock();
-  }
-
-  template<class Predicate>
-  void wait(std::unique_lock<Mutex>& lk, Predicate p) { while (!p()) this->wait(lk); }
-
-private:
-  HANDLE hn;
-};
+typedef std::condition_variable_any ConditionVariable;
 
 #else // Default case: use STL classes