summaryrefslogtreecommitdiff
path: root/lang/mono/patches/patch-mono_metadata_mono-perfcounters.c
blob: ee7c6a14cf553b16a307b0bc2fa886750621eb73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$NetBSD: patch-mono_metadata_mono-perfcounters.c,v 1.2 2015/05/22 06:55:40 kefren Exp $

Correct mibs initialization for NetBSD

--- mono/metadata/mono-perfcounters.c.orig	2015-04-26 19:28:39.000000000 +0300
+++ mono/metadata/mono-perfcounters.c	2015-05-14 19:07:18.000000000 +0300
@@ -33,6 +33,9 @@
 #if defined (__NetBSD__) || defined (__APPLE__)
 #include <sys/sysctl.h>
 #endif
+#if defined(__NetBSD__)
+#include <sys/vmmeter.h>
+#endif
 #include "metadata/mono-perfcounters.h"
 #include "metadata/appdomain.h"
 #include "metadata/object-internals.h"
@@ -473,11 +476,7 @@ mono_determine_physical_ram_available_si
 #elif defined (__NetBSD__)
 	struct vmtotal vm_total;
 	guint64 page_size;
-	int mib [2];
-	size_t len;
-
-
-	mib = {
+	int mib [2] = {
 		CTL_VM,
 #if defined (VM_METER)
 		VM_METER
@@ -485,17 +484,15 @@ mono_determine_physical_ram_available_si
 		VM_TOTAL
 #endif
 	};
-	len = sizeof (vm_total);
+	size_t len = sizeof (vm_total);
 	sysctl (mib, 2, &vm_total, &len, NULL, 0);
 
-	mib = {
-		CTL_HW,
-		HW_PAGESIZE
-	};
+	mib[0] = CTL_HW;
+	mib[1] = HW_PAGESIZE;
 	len = sizeof (page_size);
-	sysctl (mib, 2, &page_size, &len, NULL, 0
+	sysctl (mib, 2, &page_size, &len, NULL, 0);
 
-	return ((guint64) value.t_free * page_size) / 1024;
+	return ((guint64) vm_total.t_free * page_size) / 1024;
 #elif defined (__APPLE__)
 	mach_msg_type_number_t count = HOST_VM_INFO_COUNT;
 	vm_statistics_data_t vmstat;