diff --git a/akka-actor/src/main/scala/akka/actor/FSM.scala b/akka-actor/src/main/scala/akka/actor/FSM.scala index c3be5a3bb5..db8c150d53 100644 --- a/akka-actor/src/main/scala/akka/actor/FSM.scala +++ b/akka-actor/src/main/scala/akka/actor/FSM.scala @@ -223,9 +223,10 @@ object FSM { * the first matching one. * * Another feature is that other actors may subscribe for transition events by - * sending a SubscribeTransitionCallback message to this actor; - * use UnsubscribeTransitionCallback before stopping the other - * actor. + * sending a SubscribeTransitionCallback message to this actor. + * Stopping a listener without unregistering will not remove the listener from the + * subscription list; use UnsubscribeTransitionCallback before stopping + * the listener. * * State timeouts set an upper bound to the time which may pass before another * message is received in the current state. If no external message is diff --git a/akka-docs/rst/scala/fsm.rst b/akka-docs/rst/scala/fsm.rst index c105e3cc8c..a229a27e24 100644 --- a/akka-docs/rst/scala/fsm.rst +++ b/akka-docs/rst/scala/fsm.rst @@ -330,9 +330,9 @@ and will receive :class:`Transition(actorRef, oldState, newState)` messages whenever a new state is reached. External monitors may be unregistered by sending :class:`UnsubscribeTransitionCallBack(actorRef)` to the FSM actor. -Registering a not-running listener generates a warning and fails gracefully. -Stopping a listener without unregistering will remove the listener from the -subscription list upon the next transition. +Stopping a listener without unregistering will not remove the listener from the +subscription list; use :class:`UnsubscribeTransitionCallback` before stopping +the listener. Transforming State ------------------