pw_sync_baremetal#

This is a set of backends for pw_sync that works on baremetal targets. It is not ready for use, and is under construction.

Note

All constructs in this baremetal backend do not support hardware multi-threading (SMP, SMT, etc).

Warning

It does not perform interrupt masking or disable global interrupts. This is not safe to use yet!

InterruptSpinLock#

The interrupt spin-lock implementation makes a single attempt to acquire the lock and asserts if it is unavailable. It does not perform interrupt masking or disable global interrupts.

Mutex#

The mutex implementation makes a single attempt to acquire the lock and asserts if it is unavailable.

RecursiveMutex#

The recursive mutex implementation counts the number of lock and unlock calls and asserts if the mutex is unlocked too many times or destroyed while locked. Note that recursive mutexes are not available for general use in Pigweed.