diff --git a/squirrel-foundation/src/main/java/org/squirrelframework/foundation/fsm/impl/AbstractStateMachine.java b/squirrel-foundation/src/main/java/org/squirrelframework/foundation/fsm/impl/AbstractStateMachine.java index 0b4059d..b54faf6 100644 --- a/squirrel-foundation/src/main/java/org/squirrelframework/foundation/fsm/impl/AbstractStateMachine.java +++ b/squirrel-foundation/src/main/java/org/squirrelframework/foundation/fsm/impl/AbstractStateMachine.java @@ -202,7 +202,7 @@ private boolean processEvent(E event, C context, StateMachineData or } private void processEvents() { - if (isIdle()) { + while (isIdle() && queuedEvents.size() > 0) { writeLock.lock(); setStatus(StateMachineStatus.BUSY); try {