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
+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));
}
}