Fix GCC and MSVC build.

PiperOrigin-RevId: 564390190
Change-Id: Icba3eefb394b8d17798679dd9876f127fba5a599
This commit is contained in:
Saran Tunyasuvunakool
2023-09-11 08:16:20 -07:00
committed by Copybara-Service
parent 78183e60e1
commit 860f7b376a
4 changed files with 11 additions and 17 deletions
+1 -4
View File
@@ -99,12 +99,9 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Set -Wimplicit-fallthrough=5 to only allow fallthrough annotation via __attribute__.
set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} -Wimplicit-fallthrough=5
-Wno-maybe-uninitialized -Wno-c++20-extensions
-Wno-maybe-uninitialized
)
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} -Wno-c++20-designator)
endif()
endif()
include(MujocoHarden)
+1 -4
View File
@@ -99,12 +99,9 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Set -Wimplicit-fallthrough=5 to only allow fallthrough annotation via __attribute__.
set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} -Wimplicit-fallthrough=5
-Wno-maybe-uninitialized -Wno-c++20-extensions
-Wno-maybe-uninitialized
)
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} -Wno-c++20-designator)
endif()
endif()
include(MujocoHarden)
+1 -4
View File
@@ -99,12 +99,9 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Set -Wimplicit-fallthrough=5 to only allow fallthrough annotation via __attribute__.
set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} -Wimplicit-fallthrough=5
-Wno-maybe-uninitialized -Wno-c++20-extensions
-Wno-maybe-uninitialized
)
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(EXTRA_COMPILE_OPTIONS ${EXTRA_COMPILE_OPTIONS} -Wno-c++20-designator)
endif()
endif()
include(MujocoHarden)
+8 -5
View File
@@ -18,6 +18,7 @@
#include <cstddef>
#include <memory>
#include <thread>
#include <utility>
#include <vector>
#include <mujoco/mjthread.h>
@@ -41,8 +42,9 @@ struct WorkerThread {
// An mjTask for shutting down this worker.
mjTask shutdown_task_ {
.func = &ShutdownFunction,
.args = nullptr,
&ShutdownFunction,
nullptr,
mjTASK_NEW
};
};
} // namespace
@@ -51,11 +53,12 @@ struct WorkerThread {
// (The public mjThreadPool C struct is an opaque one.)
class ThreadPoolImpl : public mjThreadPool {
public:
ThreadPoolImpl(int num_worker) : mjThreadPool{.nworker = num_worker} {
ThreadPoolImpl(int num_worker) : mjThreadPool{num_worker} {
// initialize worker threads
for (int i = 0; i < num_worker; ++i) {
workers_.push_back(
{std::make_unique<std::thread>(ThreadPoolWorker, this)});
WorkerThread worker{
std::make_unique<std::thread>(ThreadPoolWorker, this)};
workers_.push_back(std::move(worker));
}
}