50 if ((errCode = pthread_mutex_lock(&(rtDesc->
mutex))) != 0) {
57 if ((errCode = pthread_mutex_unlock(&(rtDesc->
mutex))) != 0) {
87 if ((errCode = pthread_mutex_unlock(&(rtDesc->
mutex))) != 0) {
100 if ((errCode = pthread_mutex_lock(&(rtDesc->
mutex))) != 0) {
107 if ((errCode = pthread_mutex_unlock(&(rtDesc->
mutex))) != 0) {
121 if ((errCode = pthread_cond_signal(&(rtDesc->
cond))) != 0) {
127 if ((errCode = pthread_mutex_unlock(&(rtDesc->
mutex))) != 0) {
140 if ((errCode = pthread_mutex_lock(&(rtDesc->
mutex))) != 0) {
146 if ((errCode = pthread_mutex_unlock(&(rtDesc->
mutex))) != 0) {
177 return rtDesc->
state;
206 if ((errCode = pthread_cond_signal(&(rtDesc->
cond))) != 0) {
242 if ((errCode = pthread_mutex_lock(&(rtDesc->
mutex))) != 0) {
248 if ((errCode = pthread_cond_wait(&(rtDesc->
cond), &(rtDesc->
mutex))) != 0) {
255 if ((errCode = pthread_mutex_unlock(&(rtDesc->
mutex))) != 0) {
pthread_t activationThread
The thread associated to the RT Container.
The function to wait on a condition has reported an error.
The function to unlock the container mutex has reported an error.
void ExecActivProcedure(FwRtDesc_t rtDesc)
Execute the loop in the Activation Procedure.
void * ExecActivThread(void *ptr)
The Activation Thread of the RT Container.
FwRtState_t state
The state of the RT Container.
Declaration of the API for a RT Container.
Header file to define all constants and types for the RT Container Module of the FW Profile...
The RT Container is in state STOPPED.
FwRtAction_t initializeNotifPr
Pointer to the function encapsulating the initialization action for the Notification Procedure...
The function to create the Activation Thread has reported an error.
void FwRtNotify(FwRtDesc_t rtDesc)
Execute the Notification Procedure of a RT Container.
The function to wait on a thread join has reported an error.
FwRtAction_t implementNotifLogic
Pointer to the function encapsulating the implementation of the notification logic.
FwRtCounterU2_t notifCounter
The notification counter.
pthread_cond_t cond
The condition variable associated to the RT Container.
FwRtAction_t finalizeActivPr
Pointer to the function encapsulating the finalization action for the Activation Procedure.
int errCode
The return value of the last system call which failed.
void ExecNotifProcedure(FwRtDesc_t rtDesc)
Execute the loop in the Notification Procedure.
FwRtAction_t implementActivLogic
Pointer to the function encapsulating the implementation of the activation logic. ...
FwRtState_t
Enumerated type for the state of the RT Container.
void FwRtWaitForTermination(FwRtDesc_t rtDesc)
Blocking function which returns when the Activation Thread has terminated.
void FwRtStop(FwRtDesc_t rtDesc)
Stop a RT Container.
FwRtAction_t setUpNotification
Pointer to the function encapsulating the logic to set up the notification for the RT Container...
FwRtAction_t execFuncBehaviour
Pointer to the function encapsulating the execution of the functional behaviour associated to the RT ...
int FwRtGetErrCode(FwRtDesc_t rtDesc)
Return the error code of the RT Container.
void FwRtStart(FwRtDesc_t rtDesc)
Start a RT Container.
pthread_mutex_t mutex
The mutex associated to the RT Container.
FwRtState_t FwRtGetContState(FwRtDesc_t rtDesc)
Return the RT Container state.
struct FwRtDesc * FwRtDesc_t
Forward declaration for the pointer to a RT Container Descriptor.
FwRtCounterU2_t FwRtGetNotifCounter(FwRtDesc_t rtDesc)
Return the value of the notification counter.
pthread_attr_t * pThreadAttr
The pointer to the Activation Thread attributes.
int FwRtBool_t
Type used for booleans (0 is "false" and 1 is "true").
FwRtBool_t FwRtIsActivPrStarted(FwRtDesc_t rtDesc)
Check whether the Activation Procedure is started.
FwRtAction_t initializeActivPr
Pointer to the function encapsulating the initialization action for the Activation Procedure...
FwRtBool_t notifPrStarted
The flag indicating whether the Notification Procedure is STÂRTED.
The function to signal a condition has reported an error.
FwRtBool_t FwRtIsNotifPrStarted(FwRtDesc_t rtDesc)
Check whether the Notification Procedure is started.
short int FwRtCounterU2_t
Type used for unsigned integers with a "medium" range.
FwRtAction_t finalizeNotifPr
Pointer to the function encapsulating the finalization action for the Notification Procedure...
The function to lock the container mutex has reported an error.
Structure representing a RT Container Descriptor.
The RT Container is in state STARTED.
FwRtBool_t activPrStarted
The flag indicating whether the Activation Procedure is STÂRTED.