summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn DeTreville <jdetreville@vmware.com>2010-12-15 16:52:17 -0800
committerJohn DeTreville <jdetreville@vmware.com>2010-12-15 16:52:17 -0800
commitee08297297f7a1976dc8efbeccdb6e15370c4c5d (patch)
treeee31e08a270136c4fbf814ecaf2e75af5a32ec49
parenta3ffc09c00caee590a1249c4bb809d2af8cc818d (diff)
downloadrabbitmq-server-bug23061.tar.gz
Ignore heartbeat timeouts in closed state.bug23061
-rw-r--r--src/rabbit_reader.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 92a2f4d7..b9ed6999 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -364,7 +364,11 @@ mainloop(Deb, State = #v1{parent = Parent, sock= Sock, recv_ref = Ref}) ->
throw({handshake_timeout, State#v1.callback})
end;
timeout ->
- throw({timeout, State#v1.connection_state});
+ ConnectionState = State#v1.connection_state,
+ case ConnectionState of
+ closed -> mainloop(Deb, State);
+ _ -> throw({timeout, ConnectionState})
+ end;
{'$gen_call', From, {shutdown, Explanation}} ->
{ForceTermination, NewState} = terminate(Explanation, State),
gen_server:reply(From, ok),