diff options
author | Bruno Haible <bruno@clisp.org> | 2017-10-29 14:34:21 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2017-10-29 21:27:52 +0100 |
commit | 93f03f40399e368f4b41ac169760596bf2dcd75d (patch) | |
tree | e7d1fdfa09d247fe88e31bc033fae654e37cff1e /lib/get-rusage-data.c | |
parent | 34a992bf8faa8abb66e8666d76f47b685642918f (diff) | |
download | gnulib-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.c | 7 |
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 (); |