#include <config.h>
#include <sys/tm.h>
#include <atomic.h>
Include dependency graph for critsec.h:

Go to the source code of this file.
Classes | |
| struct | critsec |
| critical section data structure More... | |
Defines | |
| #define | __critsec_h__ |
| #define | locked_decrement(counter) atomic_dec(counter) |
| don't use locked_decrement anymore but atomic_dec() | |
| #define | initialize_critical_section(cs) (cs)->count=0 |
| initialize critical section | |
| #define | leave_critical_section(cs) atomic_dec(&(cs)->count) |
| leave critical section | |
| #define | destroy_critical_section(cs) |
| destroy critical section (does nothing) | |
Typedefs | |
| typedef critsec | critsec_t |
| critical section type definition | |
Functions | |
| wakeup_t | wait_critical_section (wakeup_t data) |
| wakeup when critical section is available | |
| int | enter_critical_section (critsec_t *cs) |
| enter critical section | |
Definition in file critsec.h.
|
|
|
|
|
destroy critical section (does nothing) currently there are no resources that are dynamically allocated.
|
|
|
initialize critical section sets count field of critical section to zero
|
|
|
leave critical section allow other tasks to enter critical regions of code protected by this critical section.
Definition at line 101 of file critsec.h. Referenced by CriticalSectionBlock::~CriticalSectionBlock(). |
|
|
don't use locked_decrement anymore but atomic_dec()
|
|
|
critical section type definition
Definition at line 55 of file critsec.h. Referenced by CriticalSectionBlock::CriticalSectionBlock(), enter_critical_section(), and wait_critical_section(). |
|
|
enter critical section check and lock critical section if it is available; otherwise, wait until it is available, then lock it.
Definition at line 96 of file critsec.c. References critsec::count, critsec_t, locked_check_and_increment(), critsec::task, wait_critical_section(), wait_event(), and wakeup_t. Referenced by CriticalSectionBlock::CriticalSectionBlock(). |
|
|
wakeup when critical section is available wakeup function used to detect when a critical section is available. called while processing an interrupt, so interrupts are already disabled. Definition at line 78 of file critsec.c. References critsec::count, critsec_t, locked_check_and_increment(), critsec::task, and wakeup_t. |
|
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2002 by the authors. |
1.3.5