The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SpinlockWord Class Reference

#include <SpinlockWord.h>

+ Collaboration diagram for SpinlockWord:

Public Member Functions

constexpr SpinlockWord (bool locked=false)
 
ALWAYS_INLINE bool tryAcquire ()
 
ALWAYS_INLINE bool acquired () const
 
ALWAYS_INLINE void release ()
 
ALWAYS_INLINE bool releaseChecked ()
 

Private Member Functions

 NOT_COPYABLE_OR_ASSIGNABLE (SpinlockWord)
 

Private Attributes

volatile processor_register_t m_Value
 

Friends

class Spinlock
 

Detailed Description

Atomic exclusion only; IRQ state, recursion and waiting belong to the caller.

Definition at line 8 of file SpinlockWord.h.

Constructor & Destructor Documentation

◆ SpinlockWord()

constexpr SpinlockWord::SpinlockWord ( bool  locked = false)
inlineexplicitconstexpr

Definition at line 10 of file SpinlockWord.h.

Member Function Documentation

◆ acquired()

ALWAYS_INLINE bool SpinlockWord::acquired ( ) const
inline

Definition at line 18 of file SpinlockWord.h.

◆ release()

ALWAYS_INLINE void SpinlockWord::release ( )
inline

Definition at line 22 of file SpinlockWord.h.

◆ releaseChecked()

ALWAYS_INLINE bool SpinlockWord::releaseChecked ( )
inline

Definition at line 26 of file SpinlockWord.h.

◆ tryAcquire()

ALWAYS_INLINE bool SpinlockWord::tryAcquire ( )
inline

Definition at line 12 of file SpinlockWord.h.

Friends And Related Symbol Documentation

◆ Spinlock

friend class Spinlock
friend

Definition at line 33 of file SpinlockWord.h.

Member Data Documentation

◆ m_Value

volatile processor_register_t SpinlockWord::m_Value
private

Definition at line 37 of file SpinlockWord.h.


The documentation for this class was generated from the following file: