summaryrefslogtreecommitdiff
path: root/lib/get-rusage-data.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2017-10-29 14:34:21 +0100
committerBruno Haible <bruno@clisp.org>2017-10-29 21:27:52 +0100
commit93f03f40399e368f4b41ac169760596bf2dcd75d (patch)
treee7d1fdfa09d247fe88e31bc033fae654e37cff1e /lib/get-rusage-data.c
parent34a992bf8faa8abb66e8666d76f47b685642918f (diff)
downloadgnulib-93f03f40399e368f4b41ac169760596bf2dcd75d.tar.gz
get-rusage-data: Avoid crash on Haiku.
Diffstat (limited to 'lib/get-rusage-data.c')
-rw-r--r--lib/get-rusage-data.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/get-rusage-data.c b/lib/get-rusage-data.c
index b55e727060..1966a6ef7b 100644
--- a/lib/get-rusage-data.c
+++ b/lib/get-rusage-data.c
@@ -121,8 +121,7 @@
BeOS, Haiku:
a) On BeOS, there is no setrlimit function.
- On Haiku, setrlimit exists. RLIMIT_DATA is defined but unsupported:
- getrlimit of RLIMIT_DATA always fails with errno = EINVAL.
+ On Haiku, setrlimit exists. RLIMIT_DATA is defined but setrlimit fails.
b) There is a specific BeOS API: get_next_area_info().
*/
@@ -151,7 +150,7 @@
#if !(defined __APPLE__ && defined __MACH__) || defined TEST
/* Implement get_rusage_data_via_setrlimit(). */
-# if HAVE_SETRLIMIT && defined RLIMIT_DATA
+# if HAVE_SETRLIMIT && defined RLIMIT_DATA && !defined __HAIKU__
# ifdef _AIX
# define errno_expected() (errno == EINVAL || errno == EFAULT)
@@ -409,7 +408,7 @@ get_rusage_data (void)
/* get_rusage_data_via_setrlimit() does not work.
Prefer get_rusage_data_via_iterator(). */
return get_rusage_data_via_iterator ();
-#elif HAVE_SETRLIMIT && defined RLIMIT_DATA
+#elif HAVE_SETRLIMIT && defined RLIMIT_DATA && !defined __HAIKU__
# if defined __linux__ || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __hpux || defined __sgi || defined __osf__ || defined __sun /* Linux, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris */
/* get_rusage_data_via_setrlimit() works. */
return get_rusage_data_via_setrlimit ();