BRISCITS  0.1
RISC "Real-Time" Scheduler
Macros | Typedefs | Functions
brisc_mutex.h File Reference
#include <cpu.h>
#include <stdbool.h>

Go to the source code of this file.

Macros

#define BRISC_MUTEX_DECL(n)   brisc_mutex_t n = 0
 
#define b_mutex_init(mutex)   b_mutex_unlock((mutex))
 Bring a mutex to it's initial state (unlocked). More...
 

Typedefs

typedef uint32_t brisc_mutex_t
 

Functions

void b_mutex_lock (brisc_mutex_t *mutex)
 Block while acquiring mutex lock. More...
 
bool b_mutex_try_lock (brisc_mutex_t *mutex)
 Non-vlocking acquiring mutex lock. More...
 
void b_mutex_unlock (brisc_mutex_t *mutex)
 Un-lock a mutex and yields CPU after unlock (generally prefered). More...
 
void b_mutex_release (brisc_mutex_t *mutex)
 Un-lock a mutex with no-yield CPU after unlock. More...
 

Macro Definition Documentation

#define b_mutex_init (   mutex)    b_mutex_unlock((mutex))

Bring a mutex to it's initial state (unlocked).


Definition at line 52 of file brisc_mutex.h.

#define BRISC_MUTEX_DECL (   n)    brisc_mutex_t n = 0

Definition at line 47 of file brisc_mutex.h.

Typedef Documentation

typedef uint32_t brisc_mutex_t

Definition at line 45 of file brisc_mutex.h.

Function Documentation

void b_mutex_lock ( brisc_mutex_t mutex)

Block while acquiring mutex lock.


Parameters
mutexpointer to an initialized brisc_mutex_t variable.

Definition at line 38 of file brisc_mutex.c.

void b_mutex_release ( brisc_mutex_t mutex)

Un-lock a mutex with no-yield CPU after unlock.


Parameters
mutexpointer to an initialized brisc_mutex_t variable.

Definition at line 54 of file brisc_mutex.c.

bool b_mutex_try_lock ( brisc_mutex_t mutex)

Non-vlocking acquiring mutex lock.


Parameters
mutexpointer to an initialized brisc_mutex_t variable.
Returns
true if the lock was acquired.

Definition at line 43 of file brisc_mutex.c.

void b_mutex_unlock ( brisc_mutex_t mutex)

Un-lock a mutex and yields CPU after unlock (generally prefered).


Parameters
mutexpointer to an initialized brisc_mutex_t variable.

Definition at line 48 of file brisc_mutex.c.