heh. I was just doing it the way Tom suggested - see attached. With a little more trouble we could also keep track if the listened for events and sometimes save ourselves a second call to WSAEventSelect, but I'm not sure it's worth it.
It all depends on the overhead of WSAEventSelect(). I'm sure your version would run faster, but I just don't know if "slower" would be measurable.
BTW: I would suggest changing your comment to:
* make sure we don't multiplex this kernel event object with a different socket
* from a previous call
Thanks for tackling this problem too.
Korry Douglas [EMAIL PROTECTED]