get-rusage-as: Improve on NetBSD.
authorBruno Haible <bruno@clisp.org>
Sun, 23 Jan 2011 19:37:48 +0000 (20:37 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 23 Jan 2011 19:37:48 +0000 (20:37 +0100)
* lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
/proc, like on FreeBSD.

ChangeLog
lib/get-rusage-as.c

index ce4cb2513ec3d5cf36dc6485e6b0af4435b77644..a1d5d6b5c2df158486b0db0e3ace2738fcecfd8c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-01-23  Bruno Haible  <bruno@clisp.org>
+
+       get-rusage-as: Improve on NetBSD.
+       * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
+       /proc, like on FreeBSD.
+
 2011-01-23  Jim Meyering  <meyering@redhat.com>
 
        xreadlink.h: remove unnecessary #include
index 0250ce589139cf13778de64463354de151646c16..80eab6a81e5835de8a7e489991f0a2697ed2b172 100644 (file)
@@ -61,7 +61,8 @@
 
    NetBSD:
      a) setrlimit with RLIMIT_AS works.
-     b) No VMA iteration API exists.
+     b) The /proc/self/maps file contains a list of the virtual memory areas.
+     Both methods agree,
 
    OpenBSD:
      a) setrlimit exists, but RLIMIT_AS is not defined.
@@ -328,7 +329,7 @@ get_rusage_as_via_setrlimit (void)
 
 /* Support for reading text files in the /proc file system.  */
 
-#if defined __linux__ || defined __FreeBSD__ /* || defined __CYGWIN__ */
+#if defined __linux__ || defined __FreeBSD__ || defined __NetBSD__ /* || defined __CYGWIN__ */
 
 /* Buffered read-only streams.
    We cannot use <stdio.h> here, because fopen() calls malloc(), and a malloc()
@@ -462,7 +463,7 @@ get_rusage_as_via_iterator (void)
   rof_close (&rof);
   return total;
 
-#elif defined __FreeBSD__
+#elif defined __FreeBSD__ || defined __NetBSD__
 
   struct rofile rof;
   int c;