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