summaryrefslogtreecommitdiff
path: root/src/mem-limits.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem-limits.h')
-rw-r--r--src/mem-limits.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/mem-limits.h b/src/mem-limits.h
index 06c8e1f5dd0..e2df73ee8d0 100644
--- a/src/mem-limits.h
+++ b/src/mem-limits.h
@@ -77,13 +77,20 @@ static void
get_lim_data ()
{
extern long ulimit ();
-
-#ifdef ULIMIT_BREAK_VALUE
- lim_data = ULIMIT_BREAK_VALUE;
-#else
+
+ lim_data = -1;
+
+ /* Use the ulimit call, if we seem to have it. */
+#if !defined (ULIMIT_BREAK_VALUE) || defined (LINUX)
lim_data = ulimit (3, 0);
#endif
+ /* If that didn't work, just use the macro's value. */
+#ifdef ULIMIT_BREAK_VALUE
+ if (lim_data == -1)
+ lim_data = ULIMIT_BREAK_VALUE;
+#endif
+
lim_data -= (long) data_space_start;
}