Threading related functions.
More...
#include "Thread.h"
#include "Log.h"
#include "StackTrace.h"
#include <errno.h>
#include <unistd.h>
#include <sys/time.h>
#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#include <limits.h>
#include <stdlib.h>
#include "OsWrapper.h"
Threading related functions.
Used to create platform independent threading functions
◆ Thread_check_sem()
int Thread_check_sem |
( |
sem_type |
sem | ) |
|
Check to see if a semaphore has been posted, without waiting The semaphore will be unchanged, if the return value is false.
The semaphore will have been decremented, if the return value is true.
- Parameters
-
- Returns
- 0 (false) or 1 (true)
◆ Thread_create_cond()
Create a new condition variable.
- Returns
- the condition variable struct
◆ Thread_create_mutex()
mutex_type Thread_create_mutex |
( |
int * |
rc | ) |
|
Create a new mutex.
- Parameters
-
rc | return code: 0 for success, negative otherwise |
- Returns
- the new mutex
◆ Thread_create_sem()
sem_type Thread_create_sem |
( |
int * |
rc | ) |
|
Create a new semaphore.
- Parameters
-
rc | return code: 0 for success, negative otherwise |
- Returns
- the new condition variable
◆ Thread_destroy_cond()
Destroy a condition variable.
- Returns
- completion code
◆ Thread_destroy_mutex()
int Thread_destroy_mutex |
( |
mutex_type |
mutex | ) |
|
Destroy a mutex which has already been created.
- Parameters
-
◆ Thread_destroy_sem()
int Thread_destroy_sem |
( |
sem_type |
sem | ) |
|
Destroy a semaphore which has already been created.
- Parameters
-
◆ Thread_getid()
thread_id_type Thread_getid |
( |
void |
| ) |
|
Get the thread id of the thread from which this function is called.
- Returns
- thread id, type varying according to OS
◆ Thread_lock_mutex()
int Thread_lock_mutex |
( |
mutex_type |
mutex | ) |
|
Lock a mutex which has alrea.
- Returns
- completion code, 0 is success
◆ Thread_post_sem()
int Thread_post_sem |
( |
sem_type |
sem | ) |
|
Post a semaphore.
- Parameters
-
- Returns
- 0 on success
◆ Thread_signal_cond()
Signal a condition variable.
- Returns
- completion code
◆ Thread_start()
void Thread_start |
( |
thread_fn |
fn, |
|
|
void * |
parameter |
|
) |
| |
Start a new thread.
- Parameters
-
fn | the function to run, must be of the correct signature |
parameter | pointer to the function parameter, can be NULL |
◆ Thread_unlock_mutex()
int Thread_unlock_mutex |
( |
mutex_type |
mutex | ) |
|
Unlock a mutex which has already been locked.
- Parameters
-
- Returns
- completion code, 0 is success
◆ Thread_wait_cond()
int Thread_wait_cond |
( |
cond_type |
condvar, |
|
|
int |
timeout_ms |
|
) |
| |
Wait with a timeout (ms) for condition variable.
- Returns
- 0 for success, ETIMEDOUT otherwise
◆ Thread_wait_sem()
int Thread_wait_sem |
( |
sem_type |
sem, |
|
|
int |
timeout |
|
) |
| |
Wait for a semaphore to be posted, or timeout.
- Parameters
-
sem | the semaphore |
timeout | the maximum time to wait, in milliseconds |
- Returns
- completion code