From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs,gmane.emacs.devel Subject: bug#8800: Compilation error caused by SPARE_MEMORY Date: Mon, 06 Jun 2011 09:42:29 -0700 Organization: UCLA Computer Science Department Message-ID: <4DED0375.9010006@cs.ucla.edu> References: <9n62ok6j1i.fsf@fencepost.gnu.org> <4DEC5EA8.6000904@cs.ucla.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1307388747 19829 80.91.229.12 (6 Jun 2011 19:32:27 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 6 Jun 2011 19:32:27 +0000 (UTC) Cc: 8800@debbugs.gnu.org, Emacs Development To: Donald Ephraim Curtis Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 06 21:32:20 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QTfXA-00013G-77 for geb-bug-gnu-emacs@m.gmane.org; Mon, 06 Jun 2011 21:32:20 +0200 Original-Received: from localhost ([::1]:49941 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTfX8-0002O0-W3 for geb-bug-gnu-emacs@m.gmane.org; Mon, 06 Jun 2011 15:32:19 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:48671) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTctN-0007zl-DF for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2011 12:43:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QTctL-0006R1-PS for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2011 12:43:05 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33872) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTctL-0006Qq-E3 for bug-gnu-emacs@gnu.org; Mon, 06 Jun 2011 12:43:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1QTctK-0003Q2-IG; Mon, 06 Jun 2011 12:43:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 06 Jun 2011 16:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8800 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 8800-submit@debbugs.gnu.org id=B8800.130737856713106 (code B ref 8800); Mon, 06 Jun 2011 16:43:02 +0000 Original-Received: (at 8800) by debbugs.gnu.org; 6 Jun 2011 16:42:47 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QTct5-0003PL-77 for submit@debbugs.gnu.org; Mon, 06 Jun 2011 12:42:47 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QTct1-0003P7-Hx for 8800@debbugs.gnu.org; Mon, 06 Jun 2011 12:42:44 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 1013939E8121; Mon, 6 Jun 2011 09:42:38 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xfh16drQ+q2X; Mon, 6 Jun 2011 09:42:37 -0700 (PDT) Original-Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 7C92939E80F0; Mon, 6 Jun 2011 09:42:37 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Thunderbird/3.1.10 In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Mon, 06 Jun 2011 12:43:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:47008 gmane.emacs.devel:140236 Archived-At: On 06/06/11 05:02, Donald Ephraim Curtis wrote: > shouldn't there still be a check to see if SPARE_MEMORY is defined already? If SYSTEM_MALLOC is not defined, SPARE_MEMORY must be defined, so the code is OK. This can be seen by looking at the larger context in alloc.c. However, I can see that the code is confusing, so I simplified it this way: * alloc.c: Simplify handling of large-request failures (Bug#8800). (SPARE_MEMORY): Always define. (LARGE_REQUEST): Remove. (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST. === modified file 'src/alloc.c' --- src/alloc.c 2011-06-06 04:54:23 +0000 +++ src/alloc.c 2011-06-06 16:39:06 +0000 @@ -190,17 +190,10 @@ static char *spare_memory[7]; -#ifndef SYSTEM_MALLOC -/* Amount of spare memory to keep in large reserve block. */ +/* Amount of spare memory to keep in large reserve block, or to see + whether this much is available when malloc fails on a larger request. */ #define SPARE_MEMORY (1 << 14) -#endif - -#ifdef SYSTEM_MALLOC -# define LARGE_REQUEST (1 << 14) -#else -# define LARGE_REQUEST SPARE_MEMORY -#endif /* Number of extra blocks malloc should get when it needs more core. */ @@ -3289,9 +3282,9 @@ { /* Do not go into hysterics merely because a large request failed. */ int enough_free_memory = 0; - if (LARGE_REQUEST < nbytes) + if (SPARE_MEMORY < nbytes) { - void *p = malloc (LARGE_REQUEST); + void *p = malloc (SPARE_MEMORY); if (p) { free (p);