CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
sema.h File Reference

Counting semaphore synchronization primitive. More...

#include <cx/cx.h>
#include <cx/thread/atomic.h>
#include <cx/time/time.h>
#include <cx/utils/macros.h>
#include "aspin.h"
#include "futex.h"

Go to the source code of this file.

Data Structures

struct  Semaphore
 Counting semaphore synchronization primitive. More...
 

Macros

#define semaInit(sema, count, ...)   _semaInit(sema, count, opt_flags(__VA_ARGS__))
 

Typedefs

typedef struct Semaphore Semaphore
 Counting semaphore synchronization primitive.
 

Enumerations

enum  SEMA_Flags { SEMA_NoSpin = 0x00000001 }
 Semaphore initialization flags. More...
 

Functions

bool semaDestroy (Semaphore *sema)
 
bool semaTryDecTimeout (Semaphore *sema, int64 timeout)
 
bool semaTryDec (Semaphore *sema)
 
bool semaDec (Semaphore *sema)
 
bool semaInc (Semaphore *sema, int32 count)
 

Detailed Description

Counting semaphore synchronization primitive.

Definition in file sema.h.