Subject: AW: heap error
From: "Bolten, Dierk" <[email-masked]>
To: "'Corinna Vinschen'" <[email-masked]>
Cc: "'Mike Fahlbusch'" <[email-masked]>
Date: Thu, 12 Jul 2001 14:31:18 +0200

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:[email-masked]]
Gesendet: Wednesday, July 11, 2001 1:08 PM
An: [email-masked]'
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:[email-masked]
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/