View | Details | Raw Unified | Return to bug 55475
Collapse All | Expand All

(-)server/core_filters.c (+12 lines)
Lines 152-157 apr_status_t ap_core_input_filter(ap_filter_t *f, Link Here
152
        if (APR_STATUS_IS_EAGAIN(rv) && block == APR_NONBLOCK_READ) {
152
        if (APR_STATUS_IS_EAGAIN(rv) && block == APR_NONBLOCK_READ) {
153
            rv = APR_SUCCESS;
153
            rv = APR_SUCCESS;
154
        }
154
        }
155
        /* When the socket is immediatly EOF, apr_brigade_split_line returns
156
         * APR_SUCCESS with an empty brigade (socket_bucket_read morphes the
157
         * socket into an empty buffer which in turn is stripped by
158
         * apr_brigade_split_line).
159
         *
160
         * In blocking mode we should never return APR_SUCCESS with an empty
161
         * brigade, we are APR_EOF now and for the next calls.
162
         */
163
        else if (rv == APR_SUCCESS && block == APR_BLOCK_READ
164
                 && APR_BRIGADE_EMPTY(b) && APR_BRIGADE_EMPTY(ctx->b)) {
165
            rv = APR_EOF;
166
        }
155
        return rv;
167
        return rv;
156
    }
168
    }
157
169

Return to bug 55475