This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Cygwin handle leak in net.cc
- To: cygwin at cygwin dot com
- Subject: Re: Cygwin handle leak in net.cc
- From: Corinna Vinschen <cygwin at cygwin dot com>
- Date: Mon, 4 Jun 2001 00:19:31 +0200
- References: <000701c0ec66$68034d00$4c93a5d8@msrv>
On Sun, Jun 03, 2001 at 02:50:12PM -0500, Joe Hagen wrote:
> The functions recv/recfrom and send/sendto use
> the wsock_event class that obtains a handle using
> WSACreateEvent.
>
> wsock_event::prepare allocates the handle.
>
> When this class is used, if wsock_event::wait isn't
> invoked, the handle won't be freed.
>
> I observed this in the recv function.
>
> In Windows NT's Task Manager, I was watching
> fetchmail's handle count, and it quickly grew to 60,000.
> I modified the fetchmail source to obtain its handle
> count using NtQueryInformationProcess from NTDLL.DLL,
> and recv() was the culprit.
>
> If the wsock_event class was modified with a destructor
> that did this:
>
> wsock_event::~wsock_event
> {
> if (event)
> {
> WSACloseEvent(event);
> event=0;
> }
> }
>
> I think this would fix the problem.
Thanks for the hint. I added a destructor.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin@cygwin.com
Red Hat, Inc.
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple