StateServer 1.6.9
Compiled `c` application to handle task state logging and timing.
|
Core of the multi-threaded state_server
application.
More...
Functions | |
void | signalHandler (int signal) |
void * | clockHandler (void *arg) |
void * | controllerHandler (void *arg) |
void * | outputHandler (void *arg) |
void * | inputHandler (void *arg) |
void * | stateHandler (void *arg) |
Core of the multi-threaded state_server
application.
There are 5 core "handler" threads, which allow the server to manage the state of the task and interface to external user control/input sources.
The threads are managed by pthread_mutex_t
lock guards with pthread_cond_t
condition signals to ensure concurrency.
In the event that a condition signal is missed, there is an additional layer of protection added by condition flags, so that it is highly unlikely that the state server will ever break the following "cycle" of thread management:
void * clockHandler | ( | void * | arg | ) |
Thread function for handling clock
void * controllerHandler | ( | void * | arg | ) |
Thread function for controller handler
void * inputHandler | ( | void * | arg | ) |
Thread function for handling input messages etc
void * outputHandler | ( | void * | arg | ) |
Thread function for handling output messages etc
void signalHandler | ( | int | signal | ) |
Handles SIGINT for ctrl+c shutdown case.
void * stateHandler | ( | void * | arg | ) |
Thread function for state handler