@@ -2031,16 +2031,17 @@ handle_queue_event({queue_event, QName, Evt},
2031
2031
State = handle_queue_actions (Actions , State1 ),
2032
2032
{ok , State };
2033
2033
{eol , Actions } ->
2034
- try
2035
- State1 = handle_queue_actions (Actions ++ [{queue_down , QName }], State0 ),
2036
- {ConfirmPktIds , U } = rabbit_mqtt_confirms :remove_queue (QName , U0 ),
2037
- QStates = rabbit_queue_type :remove (QName , QStates0 ),
2038
- State = State1 # state {queue_states = QStates ,
2039
- unacked_client_pubs = U },
2040
- send_puback (ConfirmPktIds , ? RC_SUCCESS , State ),
2041
- {ok , State }
2034
+ State1 = handle_queue_actions (Actions , State0 ),
2035
+ {ConfirmPktIds , U } = rabbit_mqtt_confirms :remove_queue (QName , U0 ),
2036
+ QStates = rabbit_queue_type :remove (QName , QStates0 ),
2037
+ State = State1 # state {queue_states = QStates ,
2038
+ unacked_client_pubs = U },
2039
+ send_puback (ConfirmPktIds , ? RC_SUCCESS , State ),
2040
+ try handle_queue_down (QName , State ) of
2041
+ State2 ->
2042
+ {ok , State2 }
2042
2043
catch throw :consuming_queue_down ->
2043
- {error , consuming_queue_down , State0 }
2044
+ {error , consuming_queue_down , State }
2044
2045
end ;
2045
2046
{protocol_error , _Type , _Reason , _ReasonArgs } = Error ->
2046
2047
{error , Error , State0 }
0 commit comments