diff --git a/src/core/library/latch/latch.c b/src/core/library/latch/latch.c index fd84dd8..9a5a2c2 100644 --- a/src/core/library/latch/latch.c +++ b/src/core/library/latch/latch.c @@ -1200,7 +1200,7 @@ NINT LBL_fsmSlatch (Latch_s *latch, FsmLite_s *fsm, voidfunc_t action WHENCE_ARG SET_FSM(latch, fsm); HOLD(latch, fsm); ASSERT_SLATCH(latch); - action(fsm); + ((void (*)(FsmLite_s *))action)(fsm); RTN_NINT(NOWAIT); } else if ((latch->count > IDLE_LATCH_STATE) @@ -1210,7 +1210,7 @@ NINT LBL_fsmSlatch (Latch_s *latch, FsmLite_s *fsm, voidfunc_t action WHENCE_ARG CLEAR_THREAD(latch); HOLD(latch, fsm); ASSERT_SLATCH(latch); - action(fsm); + ((void (*)(FsmLite_s *))action)(fsm); RTN_NINT(NOWAIT); } else @@ -1293,7 +1293,7 @@ NINT LBL_fsmXlatch (Latch_s *latch, FsmLite_s *fsm, voidfunc_t action WHENCE_ARG HOLD(latch, fsm); latch->count = X_LATCH_STATE; SET_FSM(latch, fsm); - action(fsm); + ((void (*)(FsmLite_s *))action)(fsm); RTN_NINT(NOWAIT); } else @@ -1392,7 +1392,7 @@ NINT LBL_fsmUpLatch (Latch_s *latch, FsmLite_s *fsm, voidfunc_t action WHENCE_AR latch->count = X_LATCH_STATE; HOLD(latch, fsm); SET_FSM(latch, fsm); - action(fsm); + ((void (*)(FsmLite_s *))action)(fsm); RTN_NINT(NOWAIT); } else @@ -1682,7 +1682,7 @@ void LBL_fsmGrab ( LDBG_CNT(grab, count); latch->count -= count; HOLD(latch, NULL); - action(fsm); + ((void (*)(FsmLite_s *))action)(fsm); } RTN_VOID(); }