X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fthread_win32_osx.h;h=330a8341dd8187596ff10164323a4a896a862d16;hb=69639d764bde566e524b8c2566119bf677cb2622;hp=0ef5c98132ae395c617f9b6e5dbd9ee1938f9409;hpb=09bef14c76e119103cc1a9404cbde7e249205deb;p=stockfish diff --git a/src/thread_win32_osx.h b/src/thread_win32_osx.h index 0ef5c981..330a8341 100644 --- a/src/thread_win32_osx.h +++ b/src/thread_win32_osx.h @@ -1,8 +1,6 @@ /* 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) 2015-2020 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad + Copyright (C) 2004-2023 The Stockfish developers (see AUTHORS file) Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,10 +27,12 @@ /// The implementation calls pthread_create() with the stack size parameter /// equal to the linux 8MB default, on platforms that support it. -#if defined(__APPLE__) || defined(__MINGW32__) || defined(__MINGW64__) +#if defined(__APPLE__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(USE_PTHREADS) #include +namespace Stockfish { + static const size_t TH_STACK_SIZE = 8 * 1024 * 1024; template > @@ -41,7 +41,7 @@ void* start_routine(void* ptr) P* p = reinterpret_cast(ptr); (p->first->*(p->second))(); // Call member function pointer delete p; - return NULL; + return nullptr; } class NativeThread { @@ -56,12 +56,18 @@ public: pthread_attr_setstacksize(attr, TH_STACK_SIZE); pthread_create(&thread, attr, start_routine, new P(obj, fun)); } - void join() { pthread_join(thread, NULL); } + void join() { pthread_join(thread, nullptr); } }; +} // namespace Stockfish + #else // Default case: use STL classes -typedef std::thread NativeThread; +namespace Stockfish { + +using NativeThread = std::thread; + +} // namespace Stockfish #endif