On Thu, Feb 4, 2016 at 9:54 AM, Yann Ylavic <ylavic....@gmail.com> wrote: > On Thu, Feb 4, 2016 at 9:41 AM, Yann Ylavic <ylavic....@gmail.com> wrote: >> Doesn't the socket_bucket_read() call (frame #3) enter >> apr_socket_timeout_set(p, 0), and hence sononblock() which puts the >> socket in O_NONBLOCK? > > and resets APR_INCOMPLETE_READ.
Would this help? Index: srclib/apr/buckets/apr_buckets_socket.c =================================================================== --- srclib/apr/buckets/apr_buckets_socket.c (revision 1568989) +++ srclib/apr/buckets/apr_buckets_socket.c (working copy) @@ -26,7 +26,10 @@ static apr_status_t socket_bucket_read(apr_bucket if (block == APR_NONBLOCK_READ) { apr_socket_timeout_get(p, &timeout); - apr_socket_timeout_set(p, 0); + rv = apr_socket_timeout_set(p, 0); + if (rv != APR_SUCCESS) { + return rv; + } } *str = NULL; --