Ardupilot2/libraries/AP_HAL_Linux/Semaphores.cpp

27 lines
443 B
C++
Raw Normal View History

2013-09-22 03:01:24 -03:00
#include "Semaphores.h"
using namespace Linux;
bool LinuxSemaphore::give() {
if (_taken) {
_taken = false;
return true;
} else {
return false;
}
}
bool LinuxSemaphore::take(uint32_t timeout_ms) {
return take_nonblocking();
}
bool LinuxSemaphore::take_nonblocking() {
/* we need pthread semaphores here */
2013-09-22 03:01:24 -03:00
if (!_taken) {
_taken = true;
return true;
}
return false;
2013-09-22 03:01:24 -03:00
}