delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/07/12/08:33:56

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <AF057BED809BD41183D900306E009076014FC9@emrl1.iwe.RWTH-Aachen.DE>
From: "Bolten, Dierk" <bolten AT IWE DOT RWTH-Aachen DOT de>
To: "'Corinna Vinschen'" <cygwin AT cygwin DOT com>
Cc: "'Mike Fahlbusch'" <mcf AT cobweb DOT com DOT au>
Subject: AW: heap error
Date: Thu, 12 Jul 2001 14:31:18 +0200
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id IAA08923

Thanks, that was exactly to the point. I intended to close each socket but
placed the close statement
into the wrong control block, therefore the socket was only closed when the
server could actually establish a connection to the math-doing client. Most
of the time, however, the client was not done yet with the simulation and
not accepting connections, and the close statement was not executed, thus
creating an increasing number of open sockets! Bad. Anyways, thanks to your
statement explaining the function of this heap, the problem was found
quickly. 

Cheers,
Dierk


-----Ursprüngliche Nachricht-----
Von: Corinna Vinschen [mailto:cygwin AT cygwin DOT com]
Gesendet: Wednesday, July 11, 2001 1:08 PM
An: 'cygwin AT cygwin DOT com'
Betreff: Re: heap error


On Wed, Jul 11, 2001 at 11:26:59AM +0200, Bolten, Dierk wrote:
> In this case the server program dies after 2 hours or something with :
> 
> couldn't commit memory for cygwin heap, Win 32 error 487

Each Cygwin app gets a special heap area to hold stuff which is
inherited to child processes. Eg. all file descriptor structures
are stored in that heap area (called the "cygheap"). The cygheap
has room for at least 4000 file descriptor structures. But - that's
the clue - it's fixed size. The cygheap can't grow. It's size is
reserved at the application's start and it's blocks are commited
on demand.

For some reason your server application needs all the cygheap
space when running under the described conditions.

Just a guess: Does your server forget to close file descriptors?

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019