P99
Data Structures | Macros | Functions
p99_rwl.h File Reference
#include "p99_futex.h"
+ Include dependency graph for p99_rwl.h:

Go to the source code of this file.

Data Structures

struct  p99_rwl
 A simple rwlock implementation. More...
 

Macros

#define P99_RDLOCK(RWLOCK)
 
#define P99_RWL_INITIALIZER
 Initialize an p99_rwl object. More...
 
#define P99_WRLOCK(RWLOCK)
 

Functions

void p99_rwl_destroy (p99_rwl *p00_r)
 
p99_rwlp99_rwl_init (p99_rwl *p00_r)
 Initialize an p99_rwl object. More...
 
p99_rwl::p99_rwl_wrlock
int p99_rwl_wrlock(p99_rwl volatile *p00_r)
establish an exclusive lock for rwlock p00_r.
Definition: p99_rwl.h:157
p99_rwl::p99_rwl_rdlock
int p99_rwl_rdlock(p99_rwl volatile *p00_r)
establish a shared lock for rwlock p00_c.
Definition: p99_rwl.h:122
P99_GUARDED_BLOCK
#define P99_GUARDED_BLOCK(T, NAME, INITIAL, BEFORE, AFTER)
A meta-macro to protect a dependent block or statement by a guard variable NAME of type T.
Definition: p99_block.h:269
p99_rwl::p99_rwl_unlock
int p99_rwl_unlock(p99_rwl volatile *p00_r)
release a lock on rwlock p00_r.
Definition: p99_rwl.h:179
P99_FILEID
#define P99_FILEID(...)
An identifier token that identifies different times of inclusion of the file "p99_id....
Definition: p99_id.h:116
p99_rwl
A simple rwlock implementation.
Definition: p99_rwl.h:66