/* If the event value has went to zero while we've been waiting this
callback, the event has been been signalled already. It can happen
when using real threads because the FSM may not be in waiting state
/* If the event value has went to zero while we've been waiting this
callback, the event has been been signalled already. It can happen
when using real threads because the FSM may not be in waiting state