More than 64 sockets ?

Mumit Khan khan@NanoTech.Wisc.EDU
Mon Dec 6 07:55:00 GMT 1999


stefan <stefan@linux.f1.fhtw-berlin.de> writes:
> Hello,
> 
> we were porting a server software to Win9x/NT and had to notice that you
> cannot accept() more than 64 sockets. Why is this ? Can anyone help us ?

The underlying OS API, WaitForMultipleObjects, has a limit of 64 handles
it can wait on, and that's probably the reason. There are tricks to get
around it, but it requires creating multiple threads. Not pretty. Go
to the MSDN docs on www.microsoft.com and search for 64 *and* Wait and 
see if it turns up; also, search comp.os.ms-windows.programmer.win32
on www.deja.com, where this is usually beated to death. Look for the
article by Richter that shows the multiple thread implementation, where
each new thread is started to handle the extra batches of 64 handles
to wait for -- this is something Cygwin should implement (uh oh, do
I hear the "feel free to submit patches" response ;-).

> Secondly we would like to know how to link the program without
> cygwin1.dll. The link option -mno-cygwin doesnt work properly. Afterwards
> there still some symbols missing. Is there a more informational document
> for this kind of topic ?

See my mno-cygwin howto at
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/#mno-cygwin

Regards,
Mumit


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list