changeset 69019:01f2a79bee28

[HAVE_GETRLIMIT]: Include sys/resource.h. (check_memory_limits) [HAVE_GETRLIMIT]: Use getrlimit.
author Richard M. Stallman <rms@gnu.org>
date Mon, 20 Feb 2006 00:00:18 +0000
parents d3feed421791
children e4e1c1572306
files src/vm-limit.c
diffstat 1 files changed, 19 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/vm-limit.c	Mon Feb 20 00:00:11 2006 +0000
+++ b/src/vm-limit.c	Mon Feb 20 00:00:18 2006 +0000
@@ -33,6 +33,10 @@
 
 #include "mem-limits.h"
 
+#ifdef HAVE_GETRLIMIT
+#include <sys/resource.h>
+#endif
+
 /*
   Level number of warnings already issued.
   0 -- no warnings issued.
@@ -61,6 +65,19 @@
   unsigned long five_percent;
   unsigned long data_size;
 
+#ifdef HAVE_GETRLIMIT
+  struct rlimit {
+    rlim_t rlim_cur;
+    rlim_t rlim_max;
+  } rlimit;
+
+  getrlimit (RLIMIT_DATA, &rlimit);
+
+  five_percent = rlimit.rlim_max / 20;
+  data_size = rlimit.rlim_cur;
+
+#else /* not HAVE_GETRLIMIT */
+
   if (lim_data == 0)
     get_lim_data ();
   five_percent = lim_data / 20;
@@ -74,6 +91,8 @@
   cp = (char *) (*__morecore) (0);
   data_size = (char *) cp - (char *) data_space_start;
 
+#endif /* not HAVE_GETRLIMIT */
+
   if (warn_function)
     switch (warnlevel)
       {