(normal e-mail machine busted; hope this doesn't go out as HTML or otherwise 
misformatted :( )

>     arv = 0;
>     do {
>         /* Clear out the repeat */
>         repeat = 0;
> 
>         /* socket, vecs, number of vecs, bytes written */
>         rv = sendfilev(sock->socketdes, sfv, vecs, &nbytes);
> 
>         if (rv == -1 && errno == EAGAIN)
>         {
>             /* We wrote something successfully - see above */
>             if (nbytes)
>                 rv = 0;

Why call wait_for_io_or_timeout() after successfully sending bytes?  
None of the other APR network routines work that way.  Maybe it won't
break anything, but I'd prefer to keep everything as similarly
structured as possible.

>             /* If this is the second time and we now got a successful write,
>              * yet still received EAGAIN, we don't wait again.
>              */
>             if (!arv && apr_is_option_set(sock->netmask, APR_SO_TIMEOUT) == 1)
>             {
>                 apr_status_t t = apr_wait_for_io_or_timeout(sock, 0);

Reply via email to