Ah, you are right.  apr_socket_timeout_set() sets the send and receive
timeouts which are then handled by winsock.  Therefore apr_socket_recv()
doesn't need any additional wait code.  That's the information I
needed.

thanks

Brad Nicholes
Senior Software Engineer
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com 

>>> Jeff Trawick <[EMAIL PROTECTED]> Monday, January 27, 2003
4:47:44 PM >>>
Brad Nicholes wrote:

>     When I compare the win32 implementation of apr_socket_recv()
against
> other implementations, one thing seems to jump out.  On all other
> platforms the apr_socket_recv() function calls
> apr_wait_for_io_or_timeout() if recv() returns and EWOULDBLOCK and
there
> is a timeout specified in the sock structure.  In the Win32
> implementation any timeout value in the sock structure is simply
> ignored.  Is there a reason for this or is it an oversight?


I see that Mr. Rowe has answered differently already, but I thought the

answer was this:

When the timeout is set (and stored in apr_socket_t), a Win32 socket 
option is set so that the Windows kernel handles the timeout without
APR 
having to use multiple syscalls to perform the same function.

Reply via email to