Fix for Xamarin bug #531.
authorKonrad M. Kruczynski <konrad.kruczynski@gmail.com>
Tue, 30 Aug 2011 00:05:21 +0000 (02:05 +0200)
committerKonrad M. Kruczynski <konrad.kruczynski@gmail.com>
Tue, 30 Aug 2011 00:05:21 +0000 (02:05 +0200)
mcs/class/System/System.Net.Sockets/Socket_2_1.cs

index 8ac9906a358940613aa7ee1d86c7e0c4b9cc4652..c005a5f60974d09552553e4146ce604f63950ea9 100644 (file)
@@ -63,7 +63,7 @@ namespace System.Net.Sockets {
 
                // Used by the runtime
                internal enum SocketOperation {
-                       Accept,
+                       Accept = 0,
                        Connect,
                        Receive,
                        ReceiveFrom,
@@ -684,12 +684,9 @@ namespace System.Net.Sockets {
                                result.Complete (total);
                        }
 
-                       int send_so_far;
-
                        void UpdateSendValues (int last_sent)
                        {
                                if (result.error == 0) {
-                                       send_so_far += last_sent;
                                        result.Offset += last_sent;
                                        result.Size -= last_sent;
                                }
@@ -713,7 +710,6 @@ namespace System.Net.Sockets {
                                                Socket.socket_pool_queue (Worker.Dispatcher, result);
                                                return; // Have to finish writing everything. See bug #74475.
                                        }
-                                       result.Total = send_so_far;
                                }
                                result.Complete ();
                        }
@@ -734,7 +730,7 @@ namespace System.Net.Sockets {
                                                Socket.socket_pool_queue (Worker.Dispatcher, result);
                                                return; // Have to finish writing everything. See bug #74475.
                                        }
-                                       result.Total = send_so_far;
+                                       result.Total = total;
                                } catch (Exception e) {
                                        result.Complete (e);
                                        return;