summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue.erl11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 977d302f88..badbe7b578 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -428,9 +428,6 @@ info_all(VHostPath, Items) -> map(VHostPath, fun (Q) -> info(Q, Items) end).
force_event_refresh() ->
force_event_refresh([Q#amqqueue.name || Q <- list()]).
-force_event_refresh([]) ->
- ok;
-
force_event_refresh(QNames) ->
Qs = [Q || Q <- list(), lists:member(Q#amqqueue.name, QNames)],
{_, Bad} = rabbit_misc:multi_call(
@@ -438,9 +435,11 @@ force_event_refresh(QNames) ->
FailedPids = [Pid || {Pid, _Reason} <- Bad],
Failed = [Name || #amqqueue{name = Name, pid = Pid} <- Qs,
lists:member(Pid, FailedPids)],
- timer:sleep(100),
- force_event_refresh(Failed),
- ok.
+ case Failed of
+ [] -> ok;
+ _ -> timer:sleep(100),
+ force_event_refresh(Failed)
+ end.
consumers(#amqqueue{ pid = QPid }) ->
delegate_call(QPid, consumers).