X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fsyzygy%2Ftbprobe.cpp;h=57c7d872e1b496a104774582de1a07838b4587af;hb=79c97625a42c131708af953839900aff31102454;hp=d0b59f056a9c02119c7ca3ce94e3c6a7dd1341bd;hpb=340e9ea5096fb1c8e4a0914827f1af1d30075039;p=stockfish diff --git a/src/syzygy/tbprobe.cpp b/src/syzygy/tbprobe.cpp index d0b59f05..57c7d872 100644 --- a/src/syzygy/tbprobe.cpp +++ b/src/syzygy/tbprobe.cpp @@ -224,8 +224,9 @@ public: exit(1); } #else + // Note FILE_FLAG_RANDOM_ACCESS is only a hint to Windows and as such may get ignored. HANDLE fd = CreateFile(fname.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); + OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, nullptr); if (fd == INVALID_HANDLE_VALUE) return *baseAddress = nullptr, nullptr; @@ -1107,10 +1108,10 @@ void* mapped(TBTable& e, const Position& pos) { static Mutex mutex; - // Use 'aquire' to avoid a thread reads 'ready' == true while another is - // still working, this could happen due to compiler reordering. + // Use 'acquire' to avoid a thread reading 'ready' == true while + // another is still working. (compiler reordering may cause this). if (e.ready.load(std::memory_order_acquire)) - return e.baseAddress; // Could be nullptr if file does not exsist + return e.baseAddress; // Could be nullptr if file does not exist std::unique_lock lk(mutex);