From 71a0b3395c71500137f63f3408a34b5b7f8283db Mon Sep 17 00:00:00 2001 From: MichelJuillard <michel.juillard@mjui.fr> Date: Fri, 31 Mar 2023 14:46:11 +0200 Subject: [PATCH] clang doesn't support jthread --- src/DynareMain.cc | 3 +-- src/ModelTree.cc | 5 +++-- src/ModelTree.hh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/DynareMain.cc b/src/DynareMain.cc index e16c7697..4968cccb 100644 --- a/src/DynareMain.cc +++ b/src/DynareMain.cc @@ -503,8 +503,7 @@ main(int argc, char **argv) } if (mod_file->use_dll) - ModelTree::initializeMEXCompilationWorkers(max(jthread::hardware_concurrency(), 1U), - dynareroot, mexext); + ModelTree::initializeMEXCompilationWorkers(max(thread::hardware_concurrency(), 1U)); if (json == JsonOutputPointType::parsing) mod_file->writeJsonOutput(basename, json, json_output_mode, onlyjson); diff --git a/src/ModelTree.cc b/src/ModelTree.cc index 408952eb..23c513d6 100644 --- a/src/ModelTree.cc +++ b/src/ModelTree.cc @@ -45,7 +45,7 @@ condition_variable_any ModelTree::mex_compilation_cv; mutex ModelTree::mex_compilation_mut; vector<tuple<filesystem::path, set<filesystem::path>, string>> ModelTree::mex_compilation_queue; set<filesystem::path> ModelTree::mex_compilation_ongoing, ModelTree::mex_compilation_done, ModelTree::mex_compilation_failed; -vector<jthread> ModelTree::mex_compilation_workers; +vector<thread> ModelTree::mex_compilation_workers; void ModelTree::copyHelper(const ModelTree &m) @@ -1839,6 +1839,7 @@ void ModelTree::initializeMEXCompilationWorkers(int numworkers, const filesystem::path &dynareroot, const string &mexext) { + /* assert(numworkers > 0); assert(mex_compilation_workers.empty()); @@ -1925,7 +1926,7 @@ ModelTree::initializeMEXCompilationWorkers(int numworkers, const filesystem::pat exit(EXIT_FAILURE); } } -#endif +*/ } void diff --git a/src/ModelTree.hh b/src/ModelTree.hh index 7098c0d6..88eccc00 100644 --- a/src/ModelTree.hh +++ b/src/ModelTree.hh @@ -410,7 +410,7 @@ private: vector<int> endo2eq; // Stores workers used for compiling MEX files in parallel - static vector<jthread> mex_compilation_workers; + static vector<thread> mex_compilation_workers; /* The following variables implement the thread synchronization mechanism for limiting the number of concurrent GCC processes and tracking dependencies -- GitLab