Adds handling of exit signals from socket process to

rabbit_reader during wait_for_channel_termination/3

References rabbitmq/rabbitmq-server#544.
This commit is contained in:
Ayanda Dube 2016-01-13 11:07:25 +00:00
parent 77f017a795
commit 00b844db95
1 changed files with 5 additions and 1 deletions

View File

@ -746,7 +746,8 @@ wait_for_channel_termination(N, TimerRef,
connection = #connection{
name = ConnName,
user = User,
vhost = VHost}}) ->
vhost = VHost},
sock = Sock}) ->
receive
{'DOWN', _MRef, process, ChPid, Reason} ->
{Channel, State1} = channel_cleanup(ChPid, State),
@ -763,6 +764,9 @@ wait_for_channel_termination(N, TimerRef,
CS, Channel, Reason]),
wait_for_channel_termination(N-1, TimerRef, State1)
end;
{'EXIT', Sock, _Reason} ->
[channel_cleanup(ChPid, State) || ChPid <- all_channels()],
exit(normal);
cancel_wait ->
exit(channel_termination_timeout)
end.