#ifndef __AP_HAL_LINUX_SEMAPHORE_H__ #define __AP_HAL_LINUX_SEMAPHORE_H__ #include #if CONFIG_HAL_BOARD == HAL_BOARD_LINUX #include #include class Linux::LinuxSemaphore : public AP_HAL::Semaphore { public: LinuxSemaphore() { pthread_mutex_init(&_lock, NULL); } bool give(); bool take(uint32_t timeout_ms); bool take_nonblocking(); private: pthread_mutex_t _lock; }; #endif // CONFIG_HAL_BOARD #endif // __AP_HAL_LINUX_SEMAPHORE_H__