From: stefan_trcek AT abas DOT de (Stefan Trcek) Subject: Re: sockets, timer and windows events 21 Jan 1997 09:59:49 -0800 Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <32E4C605.4A40.cygnus.gnu-win32@abas.de> References: <9701171608 DOT AA18590 AT ltisun9> Reply-To: stefan_trcek AT abas DOT de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01 (WinNT; I) Original-To: walter DOT pineda AT di DOT epfl DOT ch Original-CC: gnu-win32 AT cygnus DOT com Original-Sender: owner-gnu-win32 AT cygnus DOT com I don't know to much about cygwin, but for native NT it is suggested by M$ to make a blocking recv on a socket, this means n sockets = n+1 threads (one for gui). I use this approach. Probably the select isn't implemented very efficiently. I know that the socket descriptors ready for incoming data (in select) are stored in an array, while in unix they are stored as bit vector. You may have a look at WaitForMultipleObjects or MsgWaitForMultipleObjectsEx (no problem if you have VC++ installed). The latter may wait for "I/O completion" - whatever this means under NT. -- Stefan Trcek http://www.abas.de - For help on using this list, send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".