summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2005-10-30 07:36:35 +0000
committerRichard M. Stallman <rms@gnu.org>2005-10-30 07:36:35 +0000
commit4d74a5fc8e917db49cfe2a0c66cd2b0b9a1b9e9b (patch)
tree0dedd515e12c0e88db40773fdabef908a7654f02
parent932dc33bafe239bcde85a5c75509120e208d19c6 (diff)
downloademacs-4d74a5fc8e917db49cfe2a0c66cd2b0b9a1b9e9b.tar.gz
(BYTES_USED): Use uordblks, not arena.
(bytes_used_when_reconsidered): New variable. (emacs_blocked_free): Set that.
-rw-r--r--src/ChangeLog8
-rw-r--r--src/alloc.c6
2 files changed, 12 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f27a762b210..c6750bc70c0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,9 +1,17 @@
+2005-10-30 Richard M. Stallman <rms@gnu.org>
+
+ * alloc.c (BYTES_USED): Use uordblks, not arena.
+ (bytes_used_when_reconsidered): New variable.
+ (emacs_blocked_free): Set that.
+
2005-10-29 Chong Yidong <cyd@stupidchicken.com>
* alloc.c (emacs_blocked_free): Fix typo.
2005-10-29 Richard M. Stallman <rms@gnu.org>
+ * data.c (Fmake_variable_frame_local): Doc fix.
+
* xdisp.c (handle_fontified_prop): Do nothing if memory full.
(format_mode_line_unwind_data): New arg SAVE_PROPTRANS
controls whether to save and restore mode_line_proptrans_alist.
diff --git a/src/alloc.c b/src/alloc.c
index 90ef4ba4e81..5f4026b4cfb 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -138,6 +138,8 @@ static pthread_mutex_t alloc_mutex;
static __malloc_size_t bytes_used_when_full;
+static __malloc_size_t bytes_used_when_reconsidered;
+
/* Mark, unmark, query mark bit of a Lisp string. S must be a pointer
to a struct Lisp_String. */
@@ -521,7 +523,7 @@ display_malloc_warning ()
#ifdef DOUG_LEA_MALLOC
-# define BYTES_USED (mallinfo ().arena)
+# define BYTES_USED (mallinfo ().uordblks)
#else
# define BYTES_USED _bytes_used
#endif
@@ -1179,7 +1181,7 @@ emacs_blocked_free (ptr, ptr2)
The code here is correct as long as SPARE_MEMORY
is substantially larger than the block size malloc uses. */
&& (bytes_used_when_full
- > ((bytes_used_now = BYTES_USED)
+ > ((bytes_used_when_reconsidered = BYTES_USED)
+ max (malloc_hysteresis, 4) * SPARE_MEMORY)))
refill_memory_reserve ();