Handle in WsaEventSelect not signalled on received TCP info

hi all -
i have a C++ code under Win2k SP2, which implement a TCP client (using a connect).
Once connected, i receive TCP packets from the server (using recv).
I use an event handle, attached to the socket using WsaEventSelect, to get notified when incoming information is ready to be read from the socket.

In general, this works fine.
However - once every few hours, the event stops being signalled.
To overcome this, i added a polling mechanism - if the event is not signalled for a few sockets, i try anyhow - i call select, and if info is ready - i use receive.
Surprisingly enough - this works.

That is - even though the event was not signaled, calling select returned that it is ready for read.

Did anyone encounter this before??

I know this sounds weird (i am rather experienced with working with sockets in such a way, and never encountered such weird behavior), but it really happens.

i would be very happy to get any help on this one.

thanks,

Noam
[1044 byte] By [noamdanon] at [2007-11-19 7:39:54]