annotate src/mem-limits.h @ 20279:69a6030e443a

(kill-region): Detect read-only text by getting an error trying to delete it. Handle the cases where we can, and can't, get the killed text from the undo list with much the same code.
author Karl Heuer <kwzh@gnu.org>
date Wed, 19 Nov 1997 21:36:56 +0000
parents 02044b05d8e0
children 95829fe50ff7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Includes for memory limit warnings.
15634
08bcd5d2c8ab [_LIBC]: Use weak_extern instead of weak_symbol for __data_start.
Roland McGrath <roland@gnu.org>
parents: 14186
diff changeset
2 Copyright (C) 1990, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
3370
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13564
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 13564
diff changeset
19 Boston, MA 02111-1307, USA. */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
5497
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
21 #ifdef MSDOS
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
22 #include <dpmi.h>
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
23 #endif
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
24
5547
261bf09dc10a Include <sys/types.h> before <sys/resource.h>.
Roland McGrath <roland@gnu.org>
parents: 5497
diff changeset
25 /* Some systems need this before <sys/resource.h>. */
261bf09dc10a Include <sys/types.h> before <sys/resource.h>.
Roland McGrath <roland@gnu.org>
parents: 5497
diff changeset
26 #include <sys/types.h>
261bf09dc10a Include <sys/types.h> before <sys/resource.h>.
Roland McGrath <roland@gnu.org>
parents: 5497
diff changeset
27
4229
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
28 #ifdef _LIBC
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
29
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
30 #include <sys/resource.h>
4254
99e7b0227413 [_LIBC]: Define BSD4_2.
Roland McGrath <roland@gnu.org>
parents: 4229
diff changeset
31 #define BSD4_2 /* Tell code below to use getrlimit. */
4229
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
32
13563
c011026c071d [_LIBC] (start_of_data): Use weak ref to __data_start; use &etext if not
Roland McGrath <roland@gnu.org>
parents: 12216
diff changeset
33 /* Old Linux startup code won't define __data_start. */
15634
08bcd5d2c8ab [_LIBC]: Use weak_extern instead of weak_symbol for __data_start.
Roland McGrath <roland@gnu.org>
parents: 14186
diff changeset
34 extern int etext, __data_start; weak_extern (__data_start)
13563
c011026c071d [_LIBC] (start_of_data): Use weak ref to __data_start; use &etext if not
Roland McGrath <roland@gnu.org>
parents: 12216
diff changeset
35 #define start_of_data() (&__data_start ?: &etext)
12197
9cba6f0d9cd7 [_LIBC] (start_of_data): Define to &__data_start for GNU libc.
Roland McGrath <roland@gnu.org>
parents: 9791
diff changeset
36
12216
1072f05f6561 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 12197
diff changeset
37 #else /* not _LIBC */
4229
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
38
8830
3f019f2a13f9 Check for __alpha, in __osf__ conditional.
Richard M. Stallman <rms@gnu.org>
parents: 7010
diff changeset
39 #if defined (__osf__) && (defined (__mips) || defined (mips) || defined(__alpha))
3055
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
40 #include <sys/time.h>
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
41 #include <sys/resource.h>
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
42 #endif
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
43
3370
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
44 #ifdef __bsdi__
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
45 #define BSD4_2
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
46 #endif
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
47
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 #ifndef BSD4_2
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 #ifndef USG
5497
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
50 #ifndef MSDOS
9791
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
51 #ifndef WINDOWSNT
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 #include <sys/vlimit.h>
9791
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
53 #endif /* not WINDOWSNT */
5497
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
54 #endif /* not MSDOS */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 #endif /* not USG */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 #else /* if BSD4_2 */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57 #include <sys/time.h>
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 #include <sys/resource.h>
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 #endif /* BSD4_2 */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60
1393
d2ae5897e43c [!emacs]: Don't define POINTER, SIZE or NULL.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
61 #ifdef emacs
575
a95936ee5079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 486
diff changeset
62 /* The important properties of this type are that 1) it's a pointer, and
a95936ee5079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 486
diff changeset
63 2) arithmetic on it should work as if the size of the object pointed
a95936ee5079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 486
diff changeset
64 to has a size of 1. */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 #ifdef __STDC__
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 typedef void *POINTER;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 #else
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 typedef char *POINTER;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 typedef unsigned long SIZE;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 #ifdef NULL
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 #undef NULL
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 #define NULL ((POINTER) 0)
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 extern POINTER start_of_data ();
1592
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
79 #ifdef DATA_SEG_BITS
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
80 #define EXCEEDS_LISP_PTR(ptr) \
8830
3f019f2a13f9 Check for __alpha, in __osf__ conditional.
Richard M. Stallman <rms@gnu.org>
parents: 7010
diff changeset
81 (((EMACS_UINT) (ptr) & ~DATA_SEG_BITS) >> VALBITS)
1592
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
82 #else
8830
3f019f2a13f9 Check for __alpha, in __osf__ conditional.
Richard M. Stallman <rms@gnu.org>
parents: 7010
diff changeset
83 #define EXCEEDS_LISP_PTR(ptr) ((EMACS_UINT) (ptr) >> VALBITS)
1592
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
84 #endif
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85
16220
02044b05d8e0 Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents: 15643
diff changeset
86 #ifdef BSD_SYSTEM
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 #ifndef DATA_SEG_BITS
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents: 575
diff changeset
88 extern char etext;
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 #define start_of_data() &etext
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92
13563
c011026c071d [_LIBC] (start_of_data): Use weak ref to __data_start; use &etext if not
Roland McGrath <roland@gnu.org>
parents: 12216
diff changeset
93 #else /* not emacs */
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents: 575
diff changeset
94 extern char etext;
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 #define start_of_data() &etext
12216
1072f05f6561 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 12197
diff changeset
96 #endif /* not emacs */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97
12216
1072f05f6561 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 12197
diff changeset
98 #endif /* not _LIBC */
12197
9cba6f0d9cd7 [_LIBC] (start_of_data): Define to &__data_start for GNU libc.
Roland McGrath <roland@gnu.org>
parents: 9791
diff changeset
99
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 /* start of data space; can be changed by calling malloc_init */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 static POINTER data_space_start;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 /* Number of bytes of writable memory we can expect to be able to get */
15643
3c6865102f3d (lim_data): Make this an unsigned long.
Karl Heuer <kwzh@gnu.org>
parents: 15634
diff changeset
105 static unsigned long lim_data;
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106
7010
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
107 #ifdef NO_LIM_DATA
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
108 static void
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
109 get_lim_data ()
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
110 {
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
111 lim_data = -1;
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
112 }
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
113 #else /* not NO_LIM_DATA */
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
114
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115 #ifdef USG
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116
1450
a321ed0fa3ae (get_lim_data): Make it static.
Richard M. Stallman <rms@gnu.org>
parents: 1399
diff changeset
117 static void
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118 get_lim_data ()
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 {
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 extern long ulimit ();
2917
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
121
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
122 lim_data = -1;
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
123
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
124 /* Use the ulimit call, if we seem to have it. */
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
125 #if !defined (ULIMIT_BREAK_VALUE) || defined (LINUX)
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
126 lim_data = ulimit (3, 0);
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
127 #endif
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
128
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
129 /* If that didn't work, just use the macro's value. */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 #ifdef ULIMIT_BREAK_VALUE
2917
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
131 if (lim_data == -1)
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
132 lim_data = ULIMIT_BREAK_VALUE;
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135 lim_data -= (long) data_space_start;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 }
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 #else /* not USG */
9791
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
139 #ifdef WINDOWSNT
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
140
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
141 static void
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
142 get_lim_data ()
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
143 {
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
144 extern unsigned long data_region_size;
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
145 lim_data = data_region_size;
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
146 }
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
147
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
148 #else
5497
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
149 #if !defined (BSD4_2) && !defined (__osf__)
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150
5497
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
151 #ifdef MSDOS
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
152 void
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
153 get_lim_data ()
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
154 {
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
155 _go32_dpmi_meminfo info;
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
156
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
157 _go32_dpmi_get_free_memory_information (&info);
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
158 lim_data = info.available_memory;
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
159 }
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
160 #else /* not MSDOS */
1450
a321ed0fa3ae (get_lim_data): Make it static.
Richard M. Stallman <rms@gnu.org>
parents: 1399
diff changeset
161 static void
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162 get_lim_data ()
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 {
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
164 lim_data = vlimit (LIM_DATA, -1);
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165 }
5497
525a2027ec95 [MSDOS] (get_lim_data): Use go32 call.
Richard M. Stallman <rms@gnu.org>
parents: 4254
diff changeset
166 #endif /* not MSDOS */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
167
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168 #else /* BSD4_2 */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169
1450
a321ed0fa3ae (get_lim_data): Make it static.
Richard M. Stallman <rms@gnu.org>
parents: 1399
diff changeset
170 static void
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171 get_lim_data ()
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
172 {
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 struct rlimit XXrlimit;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
175 getrlimit (RLIMIT_DATA, &XXrlimit);
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
176 #ifdef RLIM_INFINITY
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
177 lim_data = XXrlimit.rlim_cur & RLIM_INFINITY; /* soft limit */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
178 #else
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
179 lim_data = XXrlimit.rlim_cur; /* soft limit */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
180 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
181 }
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
182 #endif /* BSD4_2 */
9791
068c89ed6765 [WINDOWSNT]: Don't include vlimit.h.
Richard M. Stallman <rms@gnu.org>
parents: 8830
diff changeset
183 #endif /* not WINDOWSNT */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
184 #endif /* not USG */
7010
34c91bb33ed0 (get_lim_data): Handle NO_LIM_DATA.
Richard M. Stallman <rms@gnu.org>
parents: 5547
diff changeset
185 #endif /* not NO_LIM_DATA */