- if (Limits.use_time_management())
- Threads.set_timer(std::min(100, std::max(TimeMgr.available_time() / 16,
- TimerResolution)));
- else if (Limits.nodes)
- Threads.set_timer(2 * TimerResolution);
- else
- Threads.set_timer(100);
+ Threads.timer_thread()->maxPly = /* Hack: we use maxPly to set timer interval */
+ Limits.use_time_management() ? std::min(100, std::max(TimeMgr.available_time() / 16, TimerResolution)) :
+ Limits.nodes ? 2 * TimerResolution
+ : 100;
+
+ Threads.timer_thread()->notify_one(); // Wake up the recurring timer