#pragma once #include #include #include #include #include "AP_HAL_SITL_Namespace.h" #include class HALSITL::Semaphore : public AP_HAL::Semaphore { public: Semaphore(); bool give() override; bool take(uint32_t timeout_ms) override; bool take_nonblocking() override; protected: pthread_mutex_t _lock; }; class HALSITL::Semaphore_Recursive : public HALSITL::Semaphore { public: Semaphore_Recursive(); };