[threadpool] Use threadpool->threads instead of threadpool->counters to wait on clean...
[mono.git] / mono / metadata / attach.c
index 9f6f1e6a836f794dca7bbc2ae4453786b1845f6c..6fc81e0898495bc1f2d608290859ea3daa4d1a2e 100644 (file)
@@ -42,6 +42,8 @@
 #include <mono/utils/mono-threads.h>
 #include "attach.h"
 
+#include <mono/io-layer/io-layer.h>
+
 /*
  * This module enables other processes to attach to a running mono process and
  * load agent assemblies. 
@@ -94,7 +96,7 @@ static char *ipc_filename;
 
 static char *server_uri;
 
-static HANDLE receiver_thread_handle;
+static MonoThreadHandle *receiver_thread_handle;
 
 static gboolean stop_receiver_thread;
 
@@ -102,7 +104,7 @@ static gboolean needs_to_start, started;
 
 static void transport_connect (void);
 
-static guint32 WINAPI receiver_thread (void *arg);
+static gsize WINAPI receiver_thread (void *arg);
 
 static void transport_start_receive (void);
 
@@ -260,7 +262,7 @@ mono_attach_cleanup (void)
 
        /* Wait for the receiver thread to exit */
        if (receiver_thread_handle)
-               WaitForSingleObjectEx (receiver_thread_handle, 0, FALSE);
+               mono_thread_info_wait_one_handle (receiver_thread_handle, 0, FALSE);
 }
 
 static int
@@ -480,11 +482,11 @@ transport_start_receive (void)
        if (!listen_fd)
                return;
 
-       receiver_thread_handle = mono_threads_create_thread (receiver_thread, NULL, 0, 0, NULL);
+       receiver_thread_handle = mono_threads_create_thread (receiver_thread, NULL, NULL, NULL);
        g_assert (receiver_thread_handle);
 }
 
-static guint32 WINAPI
+static gsize WINAPI
 receiver_thread (void *arg)
 {
        MonoError error;