blob: 421af51a95c8376a78588a7e3ec271fdca10f8e2 [file] [log] [blame]
.. _module-pw_sync_baremetal:
=================
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.