Socket is not connected after error
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 4 Jan 2011 02:09:29 +0000 (21:09 -0500)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 4 Jan 2011 02:09:29 +0000 (21:09 -0500)
mcs/class/System/System.Net.Sockets/Socket_2_1.cs

index d5695bcbe3b17e95dd51e51d9888617679d6565d..157e668466a35ea830ddf7044cb996cb425e5158 100644 (file)
@@ -1688,8 +1688,11 @@ namespace System.Net.Sockets {
                {
                        SocketError error;
                        int bytesReceived = EndReceive (result, out error);
-                       if (error != SocketError.Success)
+                       if (error != SocketError.Success) {
+                               if (error != SocketError.WouldBlock && error != SocketError.InProgress)
+                                       connected = false;
                                throw new SocketException ((int)error);
+                       }
                        return bytesReceived;
                }
 
@@ -1733,8 +1736,11 @@ namespace System.Net.Sockets {
                {
                        SocketError error;
                        int bytesSent = EndSend (result, out error);
-                       if (error != SocketError.Success)
+                       if (error != SocketError.Success) {
+                               if (error != SocketError.WouldBlock && error != SocketError.InProgress)
+                                       connected = false;
                                throw new SocketException ((int)error);
+                       }
                        return bytesSent;
                }