X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/3b7ad313e0d7b351c55cf999474b61cdc18ecad1..32efc702b311abc93b94630c4f48a38221413aef:/src/vm-limit.c diff --git a/src/vm-limit.c b/src/vm-limit.c index b23beeb26e..0dc89098af 100644 --- a/src/vm-limit.c +++ b/src/vm-limit.c @@ -50,8 +50,12 @@ static void (*warn_function) (); static void check_memory_limits () { +#ifdef REL_ALLOC + extern POINTER (*real_morecore) (); +#endif extern POINTER (*__morecore) (); + register POINTER cp; unsigned long five_percent; unsigned long data_size; @@ -61,13 +65,18 @@ check_memory_limits () five_percent = lim_data / 20; /* Find current end of memory and issue warning if getting near max */ +#ifdef REL_ALLOC + if (real_morecore) + cp = (char *) (*real_morecore) (0); + else +#endif cp = (char *) (*__morecore) (0); data_size = (char *) cp - (char *) data_space_start; if (warn_function) switch (warnlevel) { - case 0: + case 0: if (data_size > five_percent * 15) { warnlevel++; @@ -75,7 +84,7 @@ check_memory_limits () } break; - case 1: + case 1: if (data_size > five_percent * 17) { warnlevel++; @@ -83,7 +92,7 @@ check_memory_limits () } break; - case 2: + case 2: if (data_size > five_percent * 19) { warnlevel++; @@ -130,4 +139,12 @@ memory_warnings (start, warnfun) warn_function = warnfun; __after_morecore_hook = check_memory_limits; + +#ifdef WINDOWSNT + /* Force data limit to be recalculated on each run. */ + lim_data = 0; +#endif } + +/* arch-tag: eab04eda-1f69-447a-8d9f-95f0a3983ca5 + (do not change this comment) */