18#include "pw_preprocessor/util.h"
19#include "pw_sync/lock_annotations.h"
23#include "pw_sync/virtual_basic_lockable.h"
24#include "pw_sync_backend/interrupt_spin_lock_native.h"
52 using native_handle_type = backend::NativeInterruptSpinLockHandle;
77 [[nodiscard]] native_handle_type native_handle();
81 backend::NativeInterruptSpinLock native_type_;
92#include "pw_sync_backend/interrupt_spin_lock_inline.h"
Definition: virtual_basic_lockable.h:109
Definition: interrupt_spin_lock.h:50
Definition: interrupt_spin_lock.h:85
#define PW_LOCKABLE(name)
Definition: lock_annotations.h:208
void pw_sync_InterruptSpinLock_Unlock(pw_sync_InterruptSpinLock *spin_lock)
#define PW_EXCLUSIVE_TRYLOCK_FUNCTION(...)
Definition: lock_annotations.h:260
void pw_sync_InterruptSpinLock_Lock(pw_sync_InterruptSpinLock *spin_lock)
#define PW_NO_LOCK_SAFETY_ANALYSIS
Definition: lock_annotations.h:292
bool pw_sync_InterruptSpinLock_TryLock(pw_sync_InterruptSpinLock *spin_lock)
#define PW_EXCLUSIVE_LOCK_FUNCTION(...)
Definition: lock_annotations.h:230
#define PW_UNLOCK_FUNCTION(...)
Definition: lock_annotations.h:247
Definition: binary_semaphore.h:26
The Pigweed namespace.
Definition: alignment.h:27