From: Bruno Haible Date: Sun, 23 Jan 2011 19:37:48 +0000 (+0100) Subject: get-rusage-as: Improve on NetBSD. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cac6904c1eb928f5f9a7d3c6e79fd6285b08930;p=pspp get-rusage-as: Improve on NetBSD. * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use /proc, like on FreeBSD. --- diff --git a/ChangeLog b/ChangeLog index ce4cb2513e..a1d5d6b5c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-01-23 Bruno Haible + + 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 xreadlink.h: remove unnecessary #include diff --git a/lib/get-rusage-as.c b/lib/get-rusage-as.c index 0250ce5891..80eab6a81e 100644 --- a/lib/get-rusage-as.c +++ b/lib/get-rusage-as.c @@ -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 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;