mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-23 01:21:42 +00:00
Prepends all HAL functions with HAL_ (#146)
This commit is contained in:
committed by
Peter Johnson
parent
5ad28d58ec
commit
b637b9ee4c
@@ -20,36 +20,38 @@ TLogLevel semaphoreLogLevel = logDEBUG;
|
||||
|
||||
extern "C" {
|
||||
|
||||
MUTEX_ID initializeMutexNormal() { return new priority_mutex; }
|
||||
MUTEX_ID HAL_InitializeMutexNormal() { return new priority_mutex; }
|
||||
|
||||
void deleteMutex(MUTEX_ID sem) { delete sem; }
|
||||
void HAL_DeleteMutex(MUTEX_ID sem) { delete sem; }
|
||||
|
||||
/**
|
||||
* Lock the mutex, blocking until it's available.
|
||||
*/
|
||||
void takeMutex(MUTEX_ID mutex) { mutex->lock(); }
|
||||
void HAL_TakeMutex(MUTEX_ID mutex) { mutex->lock(); }
|
||||
|
||||
/**
|
||||
* Attempt to lock the mutex.
|
||||
* @return true if succeeded in locking the mutex, false otherwise.
|
||||
*/
|
||||
bool tryTakeMutex(MUTEX_ID mutex) { return mutex->try_lock(); }
|
||||
bool HAL_TryTakeMutex(MUTEX_ID mutex) { return mutex->try_lock(); }
|
||||
|
||||
/**
|
||||
* Unlock the mutex.
|
||||
* @return 0 for success, -1 for error. If -1, the error will be in errno.
|
||||
*/
|
||||
void giveMutex(MUTEX_ID mutex) { mutex->unlock(); }
|
||||
void HAL_GiveMutex(MUTEX_ID mutex) { mutex->unlock(); }
|
||||
|
||||
MULTIWAIT_ID initializeMultiWait() { return new priority_condition_variable; }
|
||||
MULTIWAIT_ID HAL_InitializeMultiWait() {
|
||||
return new priority_condition_variable;
|
||||
}
|
||||
|
||||
void deleteMultiWait(MULTIWAIT_ID cond) { delete cond; }
|
||||
void HAL_DeleteMultiWait(MULTIWAIT_ID cond) { delete cond; }
|
||||
|
||||
void takeMultiWait(MULTIWAIT_ID cond, MUTEX_ID m) {
|
||||
void HAL_TakeMultiWait(MULTIWAIT_ID cond, MUTEX_ID m) {
|
||||
std::unique_lock<priority_mutex> lock(*m);
|
||||
cond->wait(lock);
|
||||
}
|
||||
|
||||
void giveMultiWait(MULTIWAIT_ID cond) { cond->notify_all(); }
|
||||
void HAL_GiveMultiWait(MULTIWAIT_ID cond) { cond->notify_all(); }
|
||||
|
||||
} // extern "C"
|
||||
|
||||
Reference in New Issue
Block a user