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. 
- Returns
- the new mutex 
 
 
◆ Thread_create_sem()
      
        
          | sem_type Thread_create_sem | ( | int * | rc | ) |  | 
      
 
Create a new semaphore. 
- 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()
      
        
          | thread_type 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 |  
 
- Returns
- the new thread 
 
 
◆ 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 | 
        
          |  | ) |  |  | 
      
 
Wait with a timeout (seconds) 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