[artf3749] Repaired undefined behavior in takeMultiWait.

Change-Id: Ieae7d602472f585db2a896cc76355a5c23d1d670
This commit is contained in:
James Kuszmaul
2014-11-08 14:27:49 -05:00
parent 19737ba443
commit f67849a9b1
8 changed files with 17 additions and 10 deletions

View File

@@ -1,4 +1,3 @@
#include "HAL/Semaphore.hpp"
#include "Log.hpp"
@@ -122,11 +121,10 @@ void deleteMultiWait(MULTIWAIT_ID sem) {
delete sem;
}
int8_t takeMultiWait(MULTIWAIT_ID sem, int32_t timeout) {
MUTEX_ID m = initializeMutexNormal();
int8_t takeMultiWait(MULTIWAIT_ID sem, MUTEX_ID m, int32_t timeout) {
takeMutex(m);
int8_t val = pthread_cond_wait(sem, m);
deleteMutex(m);
giveMutex(m);
return val;
}