PL::LockGuard class

class LockGuard

RAII-style lock guard class.

Public Functions

LockGuard(Lockable &lockable, TickType_t timeout = portMAX_DELAY)

Locks the object.

Parameters:
  • lockable – lockable object

  • timeout – timeout in FreeRTOS ticks

LockGuard(Lockable &lockable1, Lockable &lockable2, TickType_t timeout = portMAX_DELAY)

Locks multiple objects preventing deadlock.

Parameters:
  • lockable1 – lockable object 1

  • lockable2 – lockable object 2

  • timeout – total timeout in FreeRTOS ticks

LockGuard(Lockable &lockable1, Lockable &lockable2, Lockable &lockable3, TickType_t timeout = portMAX_DELAY)

Locks multiple objects preventing deadlock.

Parameters:
  • lockable1 – lockable object 1

  • lockable2 – lockable object 2

  • lockable3 – lockable object 3

  • timeout – total timeout in FreeRTOS ticks

bool IsLocked() const

Checks if all objects are locked.

Returns:

true if all objects are locked