delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/08/03/07:28:01

From: cgf AT cygnus DOT com (Christopher Faylor)
Subject: Re: Thread created for select call!
3 Aug 1998 07:28:01 -0700 :
Message-ID: <19980803102446.C23956.cygnus.cygwin32.developers@cygnus.com>
References: <3 DOT 0 DOT 3 DOT 32 DOT 19980803135519 DOT 00a9e590 AT exchange DOT parallax DOT co DOT uk>
Mime-Version: 1.0
To: Andy Piper <andyp AT parallax DOT co DOT uk>, cygwin32-developers AT cygnus DOT com

On Mon, Aug 03, 1998 at 01:55:19PM +0100, Andy Piper wrote:
>I'm not on this list so pardon the interruption, but it seems that a change
>has been made to the cygwin dll that adversely affects XEmacs. 
>
>Apparently select() now creates a thread for every socket it is selecting
>on every time that select() is called. Can I point out that for
>applications like XEmacs and many X applications which have select() at the
>heart of their command loop this is incredibly bad performance-wise. XEmacs
>in particular gets slower by about a factor of 4. Is there any way that
>this can be prevented from happening?
>
>Cc to me directly please.

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.

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.

-- 
cgf AT cygnus DOT com             "Everything has a boolean value, if you stand
http://www.cygnus.com/      far enough away from it."  -- Galena Alyson Canada

- Raw text -


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