|
LAR Library
1.14
|
Multi-threading. More...
#include <larlib/base.h>
Go to the source code of this file.
Macros | |
| #define | TASK_INFINITE_TIMEOUT (0xFFFFFFFFLU) |
| Use this constant to wait forever when a timeout is necessary. More... | |
Typedefs | |
| typedef struct taskThread_t | taskThread_t |
| A handle to a running thread. | |
| typedef void(* | taskThreadFunction_t) (void *param) |
| Type of a function pointer to be used as entry point of a new thread. More... | |
| typedef struct taskQueue_t | taskQueue_t |
| Handle to a multi-threading queue. | |
| typedef struct taskSemaphore_t | taskSemaphore_t |
| Handle to a semaphore. | |
| typedef struct taskEvent_t | taskEvent_t |
| Handle to an event. | |
Functions | |
| taskThread_t * | taskThreadCreate (taskThreadFunction_t fn, void *param, uint32_t stackSize) |
Create a new execution thread with entry point fn. More... | |
| void | taskSleep (uint32_t timeout) |
| Sleep the current running thread. More... | |
| taskThread_t * | taskThreadCurrent (void) |
| Return the handle of the current running thread. More... | |
| taskQueue_t * | taskQueueCreate (int maxItems) |
Create a new queue with up to maxItems allowed. More... | |
| void | taskQueueDestroy (taskQueue_t *q) |
| Destroy a queue and discards all pending elements. More... | |
| int | taskQueuePost (taskQueue_t *q, void *item) |
Insert an element on the back of the queue q. More... | |
| int | taskQueuePop (taskQueue_t *q, void **item, uint32_t timeout) |
| Extract the element from the front of the queue. More... | |
| taskSemaphore_t * | taskSemaphoreCreate (int limit) |
Create a semaphore with a maximum entry count of limit. More... | |
| void | taskSemaphoreDestroy (taskSemaphore_t *s) |
| Destroy an existing semaphore. More... | |
| int | taskSemaphoreAcquire (taskSemaphore_t *s, uint32_t timeout) |
| Acquire (also called wait or down) the semaphore. More... | |
| int | taskSemaphoreRelease (taskSemaphore_t *s) |
| Release (also called signal or up) a previously acquired semaphore. More... | |
| taskEvent_t * | taskEventCreate (void) |
| Create a new event handler. More... | |
| taskEvent_t * | taskEventCreateSystem (uint32_t bitmask) |
| Creates an event handler to wait for system peripheral events. More... | |
| void | taskEventDestroy (taskEvent_t *e) |
| Release the resources associated with an event handler. More... | |
| int | taskEventSignal (taskEvent_t *e) |
| Set an event to the signaled state. More... | |
| int | taskEventCheck (taskEvent_t *e) |
| Check if an event if signaled, without waiting or clearing the signal. More... | |
| int | taskEventWait (taskEvent_t *e, uint32_t timeout) |
Wait for e to change to signaled state. More... | |
| int | taskEventWaitAny (taskEvent_t *events[], int nevents, uint32_t timeout) |
| Wait for at least one among a list of events to be signaled. More... | |
| int | taskEventClear (taskEvent_t *e) |
| Set an event as non-signaled. More... | |
Detailed Description
Multi-threading.
Generated on Mon Mar 27 2017 15:42:52 for LAR Library by
1.8.9.1