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

(-)modules/filters/mod_reqtimeout.c (-11 / +3 lines)
Lines 178-198 Link Here
178
    reqtimeout_con_cfg *ccfg = f->ctx;
178
    reqtimeout_con_cfg *ccfg = f->ctx;
179
179
180
    if (ccfg->in_keep_alive) {
180
    if (ccfg->in_keep_alive) {
181
        if (mode != AP_MODE_SPECULATIVE) {
182
            ccfg->in_keep_alive = 0;
183
        }
181
        /* For this read, the normal keep-alive timeout must be used */
184
        /* For this read, the normal keep-alive timeout must be used */
182
        ccfg->in_keep_alive = 0;
183
        return ap_get_brigade(f->next, bb, mode, block, readbytes);
185
        return ap_get_brigade(f->next, bb, mode, block, readbytes);
184
    }
186
    }
185
187
186
    if (block == APR_NONBLOCK_READ && mode == AP_MODE_SPECULATIVE) { 
187
        /*  The source of these above us in the core is check_pipeline(), which
188
         *  is between requests but before this filter knows to reset timeouts 
189
         *  during log_transaction().  If they appear elsewhere, just don't 
190
         *  check or extend the time since they won't block and we'll see the
191
         *  bytes again later
192
         */
193
        return ap_get_brigade(f->next, bb, mode, block, readbytes);
194
    }
195
196
    if (ccfg->new_timeout > 0) {
188
    if (ccfg->new_timeout > 0) {
197
        /* set new timeout */
189
        /* set new timeout */
198
        now = apr_time_now();
190
        now = apr_time_now();

Return to bug 56729