[System] Simple readability changes to SimpleAsyncResult
authorMarek Safar <marek.safar@gmail.com>
Tue, 9 Feb 2016 19:09:33 +0000 (20:09 +0100)
committerMarek Safar <marek.safar@gmail.com>
Wed, 10 Feb 2016 09:23:34 +0000 (03:23 -0600)
mcs/class/System/System.Net/SimpleAsyncResult.cs

index b18d2adf34a12d089e466a006cb031a7c5ccf7e4..04ffdaf55ce70a60c98bc578b128978027a03581 100644 (file)
@@ -36,14 +36,12 @@ namespace System.Net
 {
        delegate void SimpleAsyncCallback (SimpleAsyncResult result);
 
-       delegate bool SimpleAsyncFunc (SimpleAsyncResult result);
-
        class SimpleAsyncResult : IAsyncResult
        {
                ManualResetEvent handle;
                bool synch;
                bool isCompleted;
-               SimpleAsyncCallback cb;
+               readonly SimpleAsyncCallback cb;
                object state;
                bool callbackDone;
                Exception exc;
@@ -63,7 +61,7 @@ namespace System.Net
                        };
                }
 
-               public static void Run (SimpleAsyncFunc func, SimpleAsyncCallback callback)
+               public static void Run (Func<SimpleAsyncResult, bool> func, SimpleAsyncCallback callback)
                {
                        var result = new SimpleAsyncResult (callback);
                        try {
@@ -74,7 +72,7 @@ namespace System.Net
                        }
                }
 
-               public static void RunWithLock (object locker, SimpleAsyncFunc func, SimpleAsyncCallback callback)
+               public static void RunWithLock (object locker, Func<SimpleAsyncResult, bool> func, SimpleAsyncCallback callback)
                {
                        Run (inner => {
                                bool running = func (inner);
@@ -123,7 +121,7 @@ namespace System.Net
                        DoCallback_private ();
                }
 
-               protected void SetCompleted_internal (bool synch, Exception e)
+               void SetCompleted_internal (bool synch, Exception e)
                {
                        this.synch = synch;
                        exc = e;
@@ -136,13 +134,7 @@ namespace System.Net
 
                protected void SetCompleted_internal (bool synch)
                {
-                       this.synch = synch;
-                       exc = null;
-                       lock (locker) {
-                               isCompleted = true;
-                               if (handle != null)
-                                       handle.Set ();
-                       }
+                       SetCompleted_internal (synch, null);
                }
 
                void DoCallback_private ()