mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-24 01:31:46 +00:00
Makes HALSetDataSem take a MULTIWAIT_ID rather then a NATIVE_MULTIWAIT_ID
Having the HAL take a NATIVE_MULTIWAIT_ID without any way to get that structure from extern "C" code is a problem. This makes it so it just takes a MULTIWAIT_ID, and then grabs the native handle inside the HAL. Change-Id: I06da18ba34adcea2f16e4e53da672f38be79e28e Signed-off-by: Dustin Spicuzza <dustin@virtualroadside.com>
This commit is contained in:
committed by
Peter Johnson (294)
parent
de39877efb
commit
2f2184e8ce
@@ -9,7 +9,7 @@ TLogLevel semaphoreLogLevel = logDEBUG;
|
||||
if (level > semaphoreLogLevel) ; \
|
||||
else Log().Get(level)
|
||||
|
||||
MUTEX_ID initializeMutexNormal() { return new std::mutex; }
|
||||
MUTEX_ID initializeMutexNormal() { return new priority_mutex; }
|
||||
|
||||
void deleteMutex(MUTEX_ID sem) { delete sem; }
|
||||
|
||||
@@ -30,12 +30,12 @@ bool tryTakeMutex(MUTEX_ID mutex) { return mutex->try_lock(); }
|
||||
*/
|
||||
void giveMutex(MUTEX_ID mutex) { mutex->unlock(); }
|
||||
|
||||
MULTIWAIT_ID initializeMultiWait() { return new std::condition_variable; }
|
||||
MULTIWAIT_ID initializeMultiWait() { return new priority_condition_variable; }
|
||||
|
||||
void deleteMultiWait(MULTIWAIT_ID cond) { delete cond; }
|
||||
|
||||
void takeMultiWait(MULTIWAIT_ID cond, MUTEX_ID m) {
|
||||
std::unique_lock<std::mutex> lock(*m);
|
||||
std::unique_lock<priority_mutex> lock(*m);
|
||||
cond->wait(lock);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user