Improved support for TimeZoneInfo under windows.
[mono.git] / mono / utils / mach-support.c
1 /*
2  * mach-support-x86.c: mach support for x86
3  *
4  * Authors:
5  *   Geoff Norton (gnorton@novell.com)
6  *
7  * (C) 2010 Ximian, Inc.
8  */
9
10 #include <config.h>
11 #if defined(__MACH__)
12 #include <glib.h>
13 #include <mach/mach.h>
14 #include <mach/task.h>
15 #include <mach/mach_port.h>
16 #include <mach/thread_act.h>
17 #include <mach/thread_status.h>
18
19 #include <mono/metadata/appdomain.h>
20 #include <mono/metadata/debug-helpers.h>
21 #include <mono/metadata/mono-debug.h>
22 #include <mono/utils/mono-mmap.h>
23
24 #include "mach-support.h"
25
26 kern_return_t
27 mono_mach_get_threads (thread_act_array_t *threads, guint32 *count)
28 {
29         kern_return_t ret;
30
31         do {
32                 ret = task_threads (current_task (), threads, count);
33         } while (ret != KERN_SUCCESS);
34
35         return ret;
36 }
37
38 kern_return_t
39 mono_mach_free_threads (thread_act_array_t threads, guint32 count)
40 {
41         return vm_deallocate(current_task (), (vm_address_t) threads, sizeof (thread_t) * count);
42 }
43 #endif