annotate src/vm-limit.c @ 76022:e892213b9815

(w32_set_scroll_bar_thumb): Don't resize scroll-bar handle while dragging, except when we get close to eob. Fix position and size calculations so we don't scroll backwards just by clicking on the handle.
author Kim F. Storm <storm@cua.dk>
date Mon, 19 Feb 2007 14:45:39 +0000
parents e90d04cd455a
children 922696f363b0 95d0cdf160ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
1 /* Functions for memory limit warnings.
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 69397
diff changeset
2 Copyright (C) 1990, 1992, 2001, 2002, 2003, 2004,
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 69397
diff changeset
3 2005, 2006, 2007 Free Software Foundation, Inc.
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
4
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
5 This file is part of GNU Emacs.
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
6
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
1398
70d0cd4c5bff mem_limits.h is now called mem-limits.h.
Roland McGrath <roland@gnu.org>
parents: 1392
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
10 any later version.
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
11
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
15 GNU General Public License for more details.
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
16
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
20 Boston, MA 02110-1301, USA. */
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
21
1392
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
22 #ifdef emacs
4696
1fc792473491 Include <config.h> instead of "config.h".
Roland McGrath <roland@gnu.org>
parents: 3935
diff changeset
23 #include <config.h>
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
24 #include "lisp.h"
1392
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
25 #endif
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
26
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
27 #ifndef emacs
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
28 #include <stddef.h>
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
29 typedef size_t SIZE;
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
30 typedef void *POINTER;
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
31 #define EXCEEDS_LISP_PTR(x) 0
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
32 #endif
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
33
1398
70d0cd4c5bff mem_limits.h is now called mem-limits.h.
Roland McGrath <roland@gnu.org>
parents: 1392
diff changeset
34 #include "mem-limits.h"
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
35
69019
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
36 #ifdef HAVE_GETRLIMIT
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
37 #include <sys/resource.h>
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
38 #endif
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
39
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
40 /*
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
41 Level number of warnings already issued.
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
42 0 -- no warnings issued.
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
43 1 -- 75% warning already issued.
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
44 2 -- 85% warning already issued.
1392
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
45 3 -- 95% warning issued; keep warning frequently.
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
46 */
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
47 enum warnlevel { not_warned, warned_75, warned_85, warned_95 };
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
48
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
49 static enum warnlevel warnlevel;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
50
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
51 /* Function to call to issue a warning;
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
52 0 means don't issue them. */
1400
af08281c0cbe (warnfunction): Renamed to warn_function (was used inconsistently).
Roland McGrath <roland@gnu.org>
parents: 1398
diff changeset
53 static void (*warn_function) ();
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
54
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
55 /* Start of data space; can be changed by calling malloc_init. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
56 static POINTER data_space_start;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
57
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
58 /* Number of bytes of writable memory we can expect to be able to get. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
59 static unsigned long lim_data;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
60
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
61
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
62 #ifdef NO_LIM_DATA
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
63 static void
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
64 get_lim_data ()
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
65 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
66 lim_data = -1;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
67 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
68 #else /* not NO_LIM_DATA */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
69
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
70 #ifdef USG
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
71
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
72 static void
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
73 get_lim_data ()
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
74 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
75 extern long ulimit ();
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
76
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
77 lim_data = -1;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
78
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
79 /* Use the ulimit call, if we seem to have it. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
80 #if !defined (ULIMIT_BREAK_VALUE) || defined (GNU_LINUX)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
81 lim_data = ulimit (3, 0);
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
82 #endif
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
83
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
84 /* If that didn't work, just use the macro's value. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
85 #ifdef ULIMIT_BREAK_VALUE
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
86 if (lim_data == -1)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
87 lim_data = ULIMIT_BREAK_VALUE;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
88 #endif
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
89
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
90 lim_data -= (long) data_space_start;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
91 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
92
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
93 #else /* not USG */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
94 #ifdef WINDOWSNT
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
95
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
96 static void
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
97 get_lim_data ()
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
98 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
99 extern unsigned long reserved_heap_size;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
100 lim_data = reserved_heap_size;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
101 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
102
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
103 #else
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
104 #if !defined (BSD4_2) && !defined (__osf__)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
105
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
106 #ifdef MSDOS
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
107 void
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
108 get_lim_data ()
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
109 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
110 _go32_dpmi_meminfo info;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
111
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
112 _go32_dpmi_get_free_memory_information (&info);
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
113 lim_data = info.available_memory;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
114 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
115 #else /* not MSDOS */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
116 static void
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
117 get_lim_data ()
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
118 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
119 lim_data = vlimit (LIM_DATA, -1);
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
120 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
121 #endif /* not MSDOS */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
122
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
123 #else /* BSD4_2 */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
124
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
125 static void
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
126 get_lim_data ()
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
127 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
128 struct rlimit XXrlimit;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
129
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
130 getrlimit (RLIMIT_DATA, &XXrlimit);
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
131 #ifdef RLIM_INFINITY
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
132 lim_data = XXrlimit.rlim_cur & RLIM_INFINITY; /* soft limit */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
133 #else
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
134 lim_data = XXrlimit.rlim_cur; /* soft limit */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
135 #endif
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
136 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
137 #endif /* BSD4_2 */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
138 #endif /* not WINDOWSNT */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
139 #endif /* not USG */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
140 #endif /* not NO_LIM_DATA */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
141
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
142 /* Verify amount of memory available, complaining if we're near the end. */
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
143
1416
60bb5e719468 (morecore_with_warning): Removed.
Roland McGrath <roland@gnu.org>
parents: 1400
diff changeset
144 static void
60bb5e719468 (morecore_with_warning): Removed.
Roland McGrath <roland@gnu.org>
parents: 1400
diff changeset
145 check_memory_limits ()
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
146 {
30062
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
147 #ifdef REL_ALLOC
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
148 extern POINTER (*real_morecore) ();
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
149 #endif
1417
3a1576d52874 (check_memory_limits): Declare __morecore.
Roland McGrath <roland@gnu.org>
parents: 1416
diff changeset
150 extern POINTER (*__morecore) ();
3a1576d52874 (check_memory_limits): Declare __morecore.
Roland McGrath <roland@gnu.org>
parents: 1416
diff changeset
151
30062
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
152
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
153 register POINTER cp;
3935
cecc2b59e875 (check_memory_limits): Use unsigned long to hold memory size values.
Richard M. Stallman <rms@gnu.org>
parents: 1417
diff changeset
154 unsigned long five_percent;
cecc2b59e875 (check_memory_limits): Use unsigned long to hold memory size values.
Richard M. Stallman <rms@gnu.org>
parents: 1417
diff changeset
155 unsigned long data_size;
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
156 enum warnlevel new_warnlevel;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
157
69019
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
158 #ifdef HAVE_GETRLIMIT
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
159 struct rlimit rlimit;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
160
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
161 getrlimit (RLIMIT_AS, &rlimit);
69019
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
162
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
163 if (RLIM_INFINITY == rlimit.rlim_max)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
164 return;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
165
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
166 /* This is a nonsensical case, but it happens -- rms. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
167 if (rlimit.rlim_cur > rlimit.rlim_max)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
168 return;
69019
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
169
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
170 five_percent = rlimit.rlim_max / 20;
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
171 data_size = rlimit.rlim_cur;
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
172
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
173 #else /* not HAVE_GETRLIMIT */
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
174
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
175 if (lim_data == 0)
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
176 get_lim_data ();
1392
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
177 five_percent = lim_data / 20;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
178
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
179 /* Find current end of memory and issue warning if getting near max */
30062
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
180 #ifdef REL_ALLOC
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
181 if (real_morecore)
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
182 cp = (char *) (*real_morecore) (0);
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
183 else
9a026d470bc9 (check_memory_limits) [REL_ALLOC]: Use real_morecore
Andrew Innes <andrewi@gnu.org>
parents: 24366
diff changeset
184 #endif
1416
60bb5e719468 (morecore_with_warning): Removed.
Roland McGrath <roland@gnu.org>
parents: 1400
diff changeset
185 cp = (char *) (*__morecore) (0);
1400
af08281c0cbe (warnfunction): Renamed to warn_function (was used inconsistently).
Roland McGrath <roland@gnu.org>
parents: 1398
diff changeset
186 data_size = (char *) cp - (char *) data_space_start;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
187
69019
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
188 #endif /* not HAVE_GETRLIMIT */
01f2a79bee28 [HAVE_GETRLIMIT]: Include sys/resource.h.
Richard M. Stallman <rms@gnu.org>
parents: 68651
diff changeset
189
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
190 if (!warn_function)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
191 return;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
192
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
193 /* What level of warning does current memory usage demand? */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
194 if (data_size > five_percent * 19)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
195 new_warnlevel = warned_95;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
196 else if (data_size > five_percent * 17)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
197 new_warnlevel = warned_85;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
198 else if (data_size > five_percent * 15)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
199 new_warnlevel = warned_75;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
200 else
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
201 new_warnlevel = not_warned;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
202
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
203 /* If we have gone up a level, give the appropriate warning. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
204 if (new_warnlevel > warnlevel || new_warnlevel == warned_95)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
205 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
206 warnlevel = new_warnlevel;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
207 switch (warnlevel)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
208 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
209 case warned_75:
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
210 (*warn_function) ("Warning: past 75% of memory limit");
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
211 break;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
212
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
213 case warned_85:
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
214 (*warn_function) ("Warning: past 85% of memory limit");
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
215 break;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
216
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
217 case warned_95:
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
218 (*warn_function) ("Warning: past 95% of memory limit");
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
219 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
220 }
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
221 /* Handle going down in usage levels, with some hysteresis. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
222 else
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
223 {
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
224 /* If we go down below 70% full, issue another 75% warning
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
225 when we go up again. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
226 if (data_size < five_percent * 14)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
227 warnlevel = not_warned;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
228 /* If we go down below 80% full, issue another 85% warning
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
229 when we go up again. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
230 else if (warnlevel > warned_75 && data_size < five_percent * 16)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
231 warnlevel = warned_75;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
232 /* If we go down below 90% full, issue another 95% warning
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
233 when we go up again. */
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
234 else if (warnlevel > warned_85 && data_size < five_percent * 18)
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
235 warnlevel = warned_85;
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
236 }
1392
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
237
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
238 if (EXCEEDS_LISP_PTR (cp))
1400
af08281c0cbe (warnfunction): Renamed to warn_function (was used inconsistently).
Roland McGrath <roland@gnu.org>
parents: 1398
diff changeset
239 (*warn_function) ("Warning: memory in use exceeds lisp pointer size");
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
240 }
69390
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
241
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
242 /* Enable memory usage warnings.
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
243 START says where the end of pure storage is.
7e58bc915ffe (get_lim_data, lim_data, data_space_start): Moved from mem-limits.h.
Richard M. Stallman <rms@gnu.org>
parents: 69019
diff changeset
244 WARNFUN specifies the function to call to issue a warning. */
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
245
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
246 void
1392
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
247 memory_warnings (start, warnfun)
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
248 POINTER start;
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
249 void (*warnfun) ();
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
250 {
1416
60bb5e719468 (morecore_with_warning): Removed.
Roland McGrath <roland@gnu.org>
parents: 1400
diff changeset
251 extern void (* __after_morecore_hook) (); /* From gmalloc.c */
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
252
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
253 if (start)
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
254 data_space_start = start;
1392
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
255 else
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
256 data_space_start = start_of_data ();
ad64a94cd81c (morecore_with_warning): Reduce warnlevel when usage drops far enough.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
257
1400
af08281c0cbe (warnfunction): Renamed to warn_function (was used inconsistently).
Roland McGrath <roland@gnu.org>
parents: 1398
diff changeset
258 warn_function = warnfun;
1416
60bb5e719468 (morecore_with_warning): Removed.
Roland McGrath <roland@gnu.org>
parents: 1400
diff changeset
259 __after_morecore_hook = check_memory_limits;
24366
274b79aeb3b7 (memory_warnings) [WINDOWSNT]: Reset lim_data on each
Andrew Innes <andrewi@gnu.org>
parents: 14186
diff changeset
260
274b79aeb3b7 (memory_warnings) [WINDOWSNT]: Reset lim_data on each
Andrew Innes <andrewi@gnu.org>
parents: 14186
diff changeset
261 /* Force data limit to be recalculated on each run. */
274b79aeb3b7 (memory_warnings) [WINDOWSNT]: Reset lim_data on each
Andrew Innes <andrewi@gnu.org>
parents: 14186
diff changeset
262 lim_data = 0;
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
263 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
264
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
265 /* arch-tag: eab04eda-1f69-447a-8d9f-95f0a3983ca5
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
266 (do not change this comment) */