Files
lora_meshtastic_project/code/firmware-2.7.15.567b8ea/src/concurrency/Lock.h
T
kevin 26d5971aba 稳定版代码
Signed-off-by: 吴文峰 <kevin@lmve.net>
2026-03-06 19:52:05 +08:00

36 lines
544 B
C++

#pragma once
#include "../freertosinc.h"
namespace concurrency
{
/**
* @brief Simple wrapper around FreeRTOS API for implementing a mutex lock
*/
class Lock
{
public:
Lock();
Lock(const Lock &) = delete;
Lock &operator=(const Lock &) = delete;
/// Locks the lock.
//
// Must not be called from an ISR.
void lock();
// Unlocks the lock.
//
// Must not be called from an ISR.
void unlock();
private:
#ifdef HAS_FREE_RTOS
SemaphoreHandle_t handle;
#endif
};
} // namespace concurrency