SILC_FSM_EVENT_WAIT
NAME
SILC_FSM_EVENT_WAIT(event)
DESCRIPTION
Macro used to wait for the `event' to be signalled. The machine or thread will be suspended while it is waiting for the event. This macro can only be used in FSM state functions. When the event is signalled the FSM will re-enter the current state (or state that was set with silc_fsm_next before waiting).
EXAMPLE
// Signalling example ctx->async_event = silc_fsm_event_alloc(fsm); ... SILC_FSM_STATE(silc_foo_state) { ... // Wait here for async call to complete SILC_FSM_EVENT_WAIT(ctx->async_event); // Async call completed if (ctx->async_success == FALSE) fatal(error); ... }