diff --git a/Swift/Sources/StateMachine/StateMachine.swift b/Swift/Sources/StateMachine/StateMachine.swift index a213f4d..eb2faca 100644 --- a/Swift/Sources/StateMachine/StateMachine.swift +++ b/Swift/Sources/StateMachine/StateMachine.swift @@ -27,6 +27,11 @@ open class StateMachine Definition) { let definition: Definition = build() state = definition.initialState.state @@ -86,6 +93,8 @@ open class StateMachine Transition.Valid { + guard !isNotifying + else { throw StateMachineError.recursionDetected } let result: Transition.Result defer { notify(result) } do { @@ -111,6 +120,8 @@ open class StateMachine