mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-20 09:04:43 +00:00
24 lines
694 B
C
24 lines
694 B
C
|
#ifndef INCLUDE_LIBQB_CONDVAR_H
|
||
|
#define INCLUDE_LIBQB_CONDVAR_H
|
||
|
|
||
|
#include "mutex.h"
|
||
|
|
||
|
// Condition Variable
|
||
|
struct libqb_condvar;
|
||
|
|
||
|
// Allocates and frees a Condition Variable
|
||
|
struct libqb_condvar *libqb_condvar_new();
|
||
|
void libqb_condvar_free(struct libqb_condvar *);
|
||
|
|
||
|
// Waits until the Condition Variable is signalled, atomically dropping the
|
||
|
// Mutex while checking the Condition Variable
|
||
|
void libqb_condvar_wait(struct libqb_condvar *, struct libqb_mutex *);
|
||
|
|
||
|
// Singals a single thread waiting on the Condition Variable
|
||
|
void libqb_condvar_signal(struct libqb_condvar *);
|
||
|
|
||
|
// Signals all threads waiting on the Condtiion Variable
|
||
|
void libqb_condvar_broadcast(struct libqb_condvar *);
|
||
|
|
||
|
#endif
|