Use wpi::mutex instead of std::mutex. (#730)

This uses a priority-aware mutex on Linux platforms.

Fixes #729.
This commit is contained in:
Peter Johnson
2017-11-13 09:51:48 -08:00
committed by GitHub
parent 35d68d2a34
commit 4d559f3856
86 changed files with 491 additions and 839 deletions

View File

@@ -10,12 +10,12 @@
#include <array>
#include <atomic>
#include <memory>
#include <mutex>
#include <string>
#include <thread>
#include <HAL/DriverStation.h>
#include <llvm/StringRef.h>
#include <support/mutex.h>
#include "RobotState.h"
#include "SensorBase.h"
@@ -135,7 +135,7 @@ class DriverStation : public SensorBase, public RobotStateInterface {
std::thread m_dsThread;
std::atomic<bool> m_isRunning{false};
mutable std::mutex m_cacheDataMutex;
mutable wpi::mutex m_cacheDataMutex;
// Robot state status variables
bool m_userInDisabled = false;
@@ -146,7 +146,7 @@ class DriverStation : public SensorBase, public RobotStateInterface {
// Control word variables
mutable HAL_ControlWord m_controlWordCache;
mutable std::chrono::steady_clock::time_point m_lastControlWordUpdate;
mutable std::mutex m_controlWordMutex;
mutable wpi::mutex m_controlWordMutex;
double m_nextMessageTime = 0;
};