• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. _module-pw_sync_baremetal:
2
3=================
4pw_sync_baremetal
5=================
6.. pigweed-module::
7   :name: pw_sync_baremetal
8
9This is a set of backends for pw_sync that works on baremetal targets.
10
11.. note::
12  All constructs in this baremetal backend do not support hardware
13  multi-threading (SMP, SMT, etc).
14
15.. warning::
16  It does not perform interrupt masking or disable global interrupts. This is
17  not safe to use yet!
18
19-----------------
20InterruptSpinLock
21-----------------
22The interrupt spin-lock implementation makes a single attempt to acquire the
23lock and asserts if it is unavailable. It does not perform interrupt masking or
24disable global interrupts.
25
26-----
27Mutex
28-----
29The mutex implementation makes a single attempt to acquire the lock and asserts
30if it is unavailable.
31
32--------------
33RecursiveMutex
34--------------
35The recursive mutex implementation counts the number of lock and unlock calls
36and asserts if the mutex is unlocked too many times or destroyed while locked.
37Note that recursive mutexes are not available for general use in Pigweed.
38