diff options
Diffstat (limited to 'mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpChannelListener.cs')
-rw-r--r-- | mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpChannelListener.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpChannelListener.cs b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpChannelListener.cs index 6940eeb7f9d..54b8bc5d4d7 100644 --- a/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpChannelListener.cs +++ b/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TcpChannelListener.cs @@ -111,7 +111,7 @@ namespace System.ServiceModel.Channels if (client != null) { foreach (var ch in accepted_channels) { var dch = ch as TcpDuplexSessionChannel; - if (dch == null || dch.TcpClient == null) + if (dch == null || dch.TcpClient == null && !dch.TcpClient.Connected) continue; if (((IPEndPoint) dch.TcpClient.Client.RemoteEndPoint).Equals (client.Client.RemoteEndPoint)) // ... then it should be handled in another BeginTryReceive/EndTryReceive loop in ChannelDispatcher. |