|
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