libnx
Data Structures | Functions
condvar.h File Reference

Condition variable synchronization primitive. More...

#include "../types.h"
#include "../kernel/mutex.h"

Go to the source code of this file.

Data Structures

struct  CondVar
 Condition variable structure. More...
 

Functions

void condvarInit (CondVar *c, Mutex *m)
 Initializes a condition variable. More...
 
Result condvarWaitTimeout (CondVar *c, u64 timeout)
 Waits on a condition variable with a timeout. More...
 
static Result condvarWait (CondVar *c)
 Waits on a condition variable. More...
 
Result condvarWake (CondVar *c, int num)
 Wakes up up to the specified number of threads waiting on a condition variable. More...
 
static Result condvarWakeOne (CondVar *c)
 Wakes up a single thread waiting on a condition variable. More...
 
static Result condvarWakeAll (CondVar *c)
 Wakes up all thread waiting on a condition variable. More...
 

Detailed Description

Condition variable synchronization primitive.

Author
plutoo

Function Documentation

void condvarInit ( CondVar c,
Mutex m 
)

Initializes a condition variable.

Parameters
[in]cCondition variable object.
[in]mMutex object to use inside the condition variable.
static Result condvarWait ( CondVar c)
inlinestatic

Waits on a condition variable.

Parameters
[in]cCondition variable object.
Returns
Result code.
Remarks
On function return, the underlying mutex is acquired.
Result condvarWaitTimeout ( CondVar c,
u64  timeout 
)

Waits on a condition variable with a timeout.

Parameters
[in]cCondition variable object.
[in]timeoutTimeout in nanoseconds.
Returns
Result code (0xEA01 on timeout).
Remarks
On function return, the underlying mutex is acquired.
Result condvarWake ( CondVar c,
int  num 
)

Wakes up up to the specified number of threads waiting on a condition variable.

Parameters
[in]cCondition variable object.
[in]numMaximum number of threads to wake up (or -1 to wake them all up).
Returns
Result code.
static Result condvarWakeAll ( CondVar c)
inlinestatic

Wakes up all thread waiting on a condition variable.

Parameters
[in]cCondition variable object.
Returns
Result code.
static Result condvarWakeOne ( CondVar c)
inlinestatic

Wakes up a single thread waiting on a condition variable.

Parameters
[in]cCondition variable object.
Returns
Result code.