This is the documentation for Enlighten.
module Concurrency
Classes
Name | Description |
|---|---|
Basic wrapper around a critical section object. | |
Event that can be manually triggered. | |
A simple utility for aquiring a lock for the duration of a function. | |
Cross platform Event class. |
Typedefs
Name | Description |
|---|---|
void * GeoThreadHandle | When threading is unavailable, just use a void* as the unsupported type. |
u32 GeoThreadResult | Return type of a thread function. |
GeoThreadResult(GEO_THREAD_CALLING_CONV * GeoThreadStartRoutine)(void *lpThreadParameter) | Thread start function prototype. |
Variables
Name | Description |
|---|---|
const GeoThreadHandle GEO_INVALID_THREAD_HANDLE | A thread handle value that is never valid. |
Functions
Name | Description |
|---|---|
Platform specific thread creation function. | |
Platform specific thread accessor function. | |
Atomically add amount to value pointed to by addend, returns the new value. | |
Atomically add amount to value pointed to by addend, returns the new value. | |
Atomically decrement value pointed to by addend, returns the new value. | |
Atomically sets a value, and returns its previous value. | |
Atomically sets a value, and returns its previous value. | |
Atomically increment value pointed to by addend, returns the new value. | |
Atomically increment value pointed to by addend, returns the new value. | |
Atomically subtract amount to value pointed to by addend, returns new value. | |
Platform specific thread release function. | |
Platform specific thread resume function. | |
Platform specific set thread affinity function. | |
Platform specific thread sleep function. | |
Platform specific thread comparison function. | |
Platform specific thread wait function. | |
Platform specific thread yield function. |
Defines
Name | Description |
|---|---|
GEO_ATOMIC_IMPLEMENTED 0 | Set to 1 on platforms where Atomic operations are available. |
GEO_THREAD_CALLING_CONV | Calling convention of GeoThread function. |
GEO_THREADING_IMPLEMENTED 0 | Set to 0 on platforms where Posix style threading methods are not available. |