Add synchronization

- Relates to #131
This commit is contained in:
Janne Valkealahti
2015-12-30 11:09:48 +00:00
parent 9d59209ce8
commit 79c49c5a78

View File

@@ -567,7 +567,7 @@ public abstract class AbstractStateMachine<S, E> extends StateMachineObjectSuppo
return id;
}
protected boolean acceptEvent(Message<E> message) {
protected synchronized boolean acceptEvent(Message<E> message) {
if ((currentState != null && currentState.shouldDefer(message))) {
log.info("Current state " + currentState + " deferred event " + message);
stateMachineExecutor.queueDeferredEvent(message);
@@ -712,7 +712,7 @@ public abstract class AbstractStateMachine<S, E> extends StateMachineObjectSuppo
return null;
}
void setCurrentState(State<S, E> state, Message<E> message, Transition<S, E> transition, boolean exit, StateMachine<S, E> stateMachine) {
synchronized void setCurrentState(State<S, E> state, Message<E> message, Transition<S, E> transition, boolean exit, StateMachine<S, E> stateMachine) {
State<S, E> findDeep = findDeepParent(state);
boolean isTargetSubOf = false;