recvmsg always waits for UDT_SNDTIMEO/UDT_RECVTIMEO
Brought to you by:
lilyco
1) Build a UDT socket of type SOCK.DGRAM
2) Set the socket to blocking mode on both send and receive (UDT_SNDSYN and UDT_RCVSYN)
3) Set the socket to a timeout of any value (e.g., 20 seconds) on both send and receive (UDT_SNDTIMEO and UDT_RCVTIMEO)
4) Connect the socket to a remote UDT datagram socket.
When sending or receiving data on the local socket, both the recvmsg and sendmsg calls block for the full timeout period (e.g., 20 seconds), even if data was received or sent before the timeout expired. The correct behavior should be that the recvmsg and sendmsg calls return immediately when a complete message has been sent or received.
Hi, I cannot reproduce this with the most recent code in CVS. Which version are you using? and OS?
I'm using the latest stable release of udt from the web site on Mac OSX Snow Leopard.