Skip to content

Commit 6a629ae

Browse files
Use std::mutex on windows
1 parent 52b0d2e commit 6a629ae

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

hardware_interface/include/hardware_interface/types/statistics_types.hpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@
2222

2323
#include "libstatistics_collector/moving_average_statistics/moving_average.hpp"
2424
#include "libstatistics_collector/moving_average_statistics/types.hpp"
25+
#ifndef _WIN32
2526
#include "realtime_tools/mutex.hpp"
27+
#define DEFAULT_MUTEX realtime_tools::prio_inherit_mutex
28+
#else
29+
#define DEFAULT_MUTEX std::mutex
30+
#endif
2631

2732
namespace ros2_control
2833
{
@@ -49,7 +54,7 @@ class MovingAverageStatisticsData
4954
*/
5055
void update_statistics(const std::shared_ptr<MovingAverageStatisticsCollector> & statistics)
5156
{
52-
std::unique_lock<realtime_tools::prio_inherit_mutex> lock(mutex_);
57+
std::unique_lock<DEFAULT_MUTEX> lock(mutex_);
5358
if (statistics->GetCount() > 0)
5459
{
5560
statistics_data.average = statistics->Average();
@@ -71,7 +76,7 @@ class MovingAverageStatisticsData
7176
*/
7277
void set_reset_statistics_sample_count(unsigned int reset_sample_count)
7378
{
74-
std::unique_lock<realtime_tools::prio_inherit_mutex> lock(mutex_);
79+
std::unique_lock<DEFAULT_MUTEX> lock(mutex_);
7580
reset_statistics_sample_count_ = reset_sample_count;
7681
}
7782

@@ -90,7 +95,7 @@ class MovingAverageStatisticsData
9095
*/
9196
const StatisticData & get_statistics() const
9297
{
93-
std::unique_lock<realtime_tools::prio_inherit_mutex> lock(mutex_);
98+
std::unique_lock<DEFAULT_MUTEX> lock(mutex_);
9499
return statistics_data;
95100
}
96101

@@ -100,7 +105,7 @@ class MovingAverageStatisticsData
100105
/// Number of samples to reset the statistics
101106
unsigned int reset_statistics_sample_count_ = std::numeric_limits<unsigned int>::max();
102107
/// Mutex to protect the statistics data
103-
mutable realtime_tools::prio_inherit_mutex mutex_;
108+
mutable DEFAULT_MUTEX mutex_;
104109
};
105110
} // namespace ros2_control
106111

0 commit comments

Comments
 (0)