On Thu, Feb 4, 2016 at 9:54 AM, Yann Ylavic <[email protected]> wrote:
> On Thu, Feb 4, 2016 at 9:41 AM, Yann Ylavic <[email protected]> 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;
--