2003-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Mon, 3 Nov 2003 23:04:04 +0000 (23:04 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Mon, 3 Nov 2003 23:04:04 +0000 (23:04 -0000)
* threadpool.c: notify listener on async processing handles after
invoking the async callback. Thanks to Zoltan.

svn path=/trunk/mono/; revision=19603

mono/metadata/ChangeLog
mono/metadata/threadpool.c

index e3eaae4e14d3fbfbc720ecc86416569ea323757d..597413c0de453f64a345a2330df0d0a081fd0106 100644 (file)
@@ -1,3 +1,8 @@
+2003-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * threadpool.c: notify listener on async processing handles after
+       invoking the async callback. Thanks to Zoltan.
+
 2003-11-03  Zoltan Varga  <vargaz@freemail.hu>
 
        * reflection.c (create_dynamic_mono_image): Call mono_image_init to 
index a1bf121f514cfabe3d331c5c60a2f080abc2e0c5..da2f5fd133c3724881865fef09b4da713269439f 100644 (file)
@@ -60,9 +60,6 @@ mono_async_invoke (MonoAsyncResult *ares)
 
        ares->completed = 1;
 
-       /* notify listeners */
-       ReleaseSemaphore (ac->wait_semaphore, 0x7fffffff, NULL);
-               
        /* call async callback if cb_method != null*/
        if (ac->cb_method) {
                MonoObject *exc = NULL;
@@ -72,6 +69,9 @@ mono_async_invoke (MonoAsyncResult *ares)
                        ac->msg->exc = exc;
        }
 
+       /* notify listeners */
+       ReleaseSemaphore (ac->wait_semaphore, 0x7fffffff, NULL);
+
        mono_g_hash_table_remove (ares_htable, ares);
 }