OpenBSD:
a) setrlimit exists, but RLIMIT_AS is not defined.
- b) No VMA iteration API exists.
+ b) mquery() can be used to find out about the virtual memory areas.
AIX:
a) setrlimit with RLIMIT_AS succeeds but does not really work: The OS
return result;
}
+#else
+
+static inline uintptr_t
+get_rusage_as_via_setrlimit (void)
+{
+ return 0;
+}
+
#endif
return get_rusage_as_via_iterator ();
#endif
}
+
+
+#ifdef TEST
+
+#include <stdio.h>
+
+int
+main ()
+{
+ printf ("Initially: 0x%08lX 0x%08lX 0x%08lX\n",
+ get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (),
+ get_rusage_as ());
+ malloc (0x88);
+ printf ("After small malloc: 0x%08lX 0x%08lX 0x%08lX\n",
+ get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (),
+ get_rusage_as ());
+ malloc (0x8812);
+ printf ("After medium malloc: 0x%08lX 0x%08lX 0x%08lX\n",
+ get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (),
+ get_rusage_as ());
+ malloc (0x281237);
+ printf ("After large malloc: 0x%08lX 0x%08lX 0x%08lX\n",
+ get_rusage_as_via_setrlimit (), get_rusage_as_via_iterator (),
+ get_rusage_as ());
+ return 0;
+}
+
+#endif /* TEST */