Files
ports/science/dynare/files/patch-preprocessor_src_ModelTree.hh
T
2026-10-04 04:07:15 +00:00

31 lines
1.0 KiB
C++

-- FreeBSD compatibility: replace std::jthread and std::stop_token (C++20 features not yet
-- available in FreeBSD's libc++ as of clang 19) with std::thread and std::atomic<bool> for
-- thread stop signalling in the dynare preprocessor's MEX parallel compilation worker pool.
--- preprocessor/src/ModelTree.hh.orig 2025-03-19 00:00:00 UTC
+++ preprocessor/src/ModelTree.hh 2025-03-19 00:00:00 UTC
@@ -22,6 +22,7 @@
#include <array>
#include <cassert>
+#include <atomic>
#include <condition_variable>
#include <deque>
#include <filesystem>
@@ -441,8 +442,14 @@
vector<int> endo2eq;
// Stores workers used for compiling MEX files in parallel
- static vector<jthread> mex_compilation_workers;
+ static vector<thread> mex_compilation_workers;
+ static atomic<bool> mex_compilation_stop_requested;
+public:
+ static void stopMEXCompilationWorkers();
+
+private:
+
/* The following variables implement the thread synchronization mechanism for
limiting the number of concurrent GCC processes and tracking dependencies
between object files. */