1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

Reset search time as early as possible

In particualr before to wake up main thread that
could take some random time. Until we don't reset
search time we are not able to correctly track
the elapsed search time and this can be dangerous
under extreme time pressure.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2012-03-31 10:01:31 +01:00
parent d033d5e06a
commit cc6c745b54
3 changed files with 5 additions and 3 deletions

View file

@ -28,7 +28,6 @@
#include "book.h"
#include "evaluate.h"
#include "history.h"
#include "misc.h"
#include "movegen.h"
#include "movepick.h"
#include "search.h"
@ -43,6 +42,7 @@ namespace Search {
LimitsType Limits;
std::vector<RootMove> RootMoves;
Position RootPosition;
Time SearchTime;
}
using std::string;
@ -118,7 +118,6 @@ namespace {
size_t MultiPV, UCIMultiPV, PVIdx;
TimeManager TimeMgr;
Time SearchTime;
int BestMoveChanges;
int SkillLevel;
bool SkillLevelEnabled, Chess960;
@ -253,7 +252,6 @@ void Search::think() {
Position& pos = RootPosition;
Chess960 = pos.is_chess960();
Eval::RootColor = pos.side_to_move();
SearchTime.restart();
TimeMgr.init(Limits, pos.startpos_ply_counter(), pos.side_to_move());
TT.new_search();
H.clear();

View file

@ -23,6 +23,7 @@
#include <cstring>
#include <vector>
#include "misc.h"
#include "types.h"
class Position;
@ -94,6 +95,7 @@ extern volatile SignalsType Signals;
extern LimitsType Limits;
extern std::vector<RootMove> RootMoves;
extern Position RootPosition;
extern Time SearchTime;
extern void init();
extern int64_t perft(Position& pos, Depth depth);

View file

@ -432,6 +432,8 @@ void ThreadsManager::start_searching(const Position& pos, const LimitsType& limi
const std::set<Move>& searchMoves) {
wait_for_search_finished();
SearchTime.restart(); // As early as possible
Signals.stopOnPonderhit = Signals.firstRootMove = false;
Signals.stop = Signals.failedLowAtRoot = false;