Skip to content

Commit 7dc3536

Browse files
committed
Used shared_mutex for earliest_toi
1 parent c1ba93d commit 7dc3536

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/ipc/ipc.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include <tbb/parallel_for.h>
1818
#include <tbb/blocked_range.h>
1919
#include <tbb/enumerable_thread_specific.h>
20-
#include <mutex>
20+
#include <shared_mutex>
2121

2222
#include <algorithm> // std::min/max
2323

@@ -318,7 +318,7 @@ double compute_collision_free_stepsize(
318318
}
319319

320320
double earliest_toi = 1;
321-
std::mutex earliest_toi_mutex;
321+
std::shared_mutex earliest_toi_mutex;
322322

323323
tbb::parallel_for(
324324
tbb::blocked_range<size_t>(0, candidates.size()),
@@ -328,7 +328,7 @@ double compute_collision_free_stepsize(
328328
// more than one clock cycle.
329329
double tmax;
330330
{
331-
std::scoped_lock<std::mutex> lock(earliest_toi_mutex);
331+
std::shared_lock lock(earliest_toi_mutex);
332332
tmax = earliest_toi;
333333
}
334334

@@ -337,7 +337,7 @@ double compute_collision_free_stepsize(
337337
V0, V1, E, F, toi, tmax, tolerance, max_iterations);
338338

339339
if (are_colliding) {
340-
std::scoped_lock<std::mutex> lock(earliest_toi_mutex);
340+
std::unique_lock lock(earliest_toi_mutex);
341341
if (toi < earliest_toi) {
342342
earliest_toi = toi;
343343
}

0 commit comments

Comments
 (0)