From: andyp AT parallax DOT co DOT uk (Andy Piper) Subject: Re: Thread created for select call! 3 Aug 1998 08:03:47 -0700 Message-ID: <3.0.3.32.19980803153356.00f5b520.cygnus.cygwin32.developers@exchange.parallax.co.uk> References: <19980803102446 DOT C23956 AT cygnus DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: Christopher Faylor , cygwin32-developers AT cygnus DOT com At 10:24 03/08/98 -0400, Christopher Faylor wrote: >I asked for feedback on this feature when I changed select in the last >developers' snapshort. There was no dissent, so I put this in. One >of the reasons for doing so was to prepare the way for a thread safe >version of select. I'm not against the intent, just the implementation as it stands - select() needs to be fast IMHO to be of any use. Any optimisations that you can think of would be excellent. For instance thread pooling etc. I also think that select() si too heavyweight the way it creates all these objects and frees them for every call. select() is likely to be called with the same arguments very frequently and this could potentially be capitalised upon. >You may be seeing a handle leak, however. I forgot to close the thread >handles after they started. If you have the sources, the fix is simple. >Just add CloseHandles to the appropriate cleanup_* routines in select.cc. Yes I have seen this also:). XEmacs consumes about 20,000 handles after a couple of hours. andy --------------------------------------------------------------------------- " .sigs are like your face - rarely seen by you and uglier than you think" Dr Andy Piper, Technical Architect, Parallax Solutions Ltd mail: andyp AT parallax DOT co DOT uk web: www.parallax.co.uk/~andyp