hi jeff,


Jeff Trawick wrote:
On 4/12/06, Jakob Praher <[EMAIL PROTECTED]> wrote:
hi all,

apparently I have a strange problem with apr_socket_connect, when
calling it several times within a short time period, it turns out to
return APR_SCUCESS without actually succeeded in connect( )ing!

What socket options have you set on the socket?  timeout or just non-blocking?

blocking with timeout, the following settings apply:

apr_socket_opt_set(mpSocket, APR_TCP_NODELAY, 1);
apr_socket_timeout_set(mpSocket, 30*1000000LL );

everything else is as is.


If you set it to non-blocking, did you wait for the APR_POLLOUT
condition with apr_poll() on the socket before calling
apr_socket_connect again?  I think the error from getsockopt() is
reset once it is retrieved the first time.  That may be the issue
triggered with calling apr_socket_connect() multiple times.

see above. it is a vanilla blocking socket.

I wouldn't suspect a bug in the kernel for this, or many applications
would fail.

it is interesting though.
it boils really down to that, it is due to getsockopt.

--
Jakob

Reply via email to