Tcl Source Code

View Ticket
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Ticket UUID: 46b6edad51e645c70e88dd4f944a2d4afc63a96a
Title: HTTP Keep-Alive with Pipelined requests fails
Type: Bug Version: 8.6.7
Submitter: kjnash Created on: 2017-11-30 16:01:25
Subsystem: 29. http Package Assigned To: nobody
Priority: 5 Medium Severity: Important
Status: Open Last Modified: 2017-11-30 17:23:08
Resolution: None Closed By: nobody
    Closed on:
Description:
When http::geturl is called with -keepalive 1, and then called again (for a URL on the same server) before the first HTTP response is complete, the two HTTP requests are not correctly handled:
(a) if the time delay between the two calls is short, then the first HTTP request is never sent;
(b) if the delay is longer, but not long enough for the first HTTP response to be complete, then the second HTTP response is thrown away, and the first HTTP response is assigned to the second HTTP request.

In both cases, Tcl reports the first HTTP response as a timeout.

The attached test script has a full explanation.

Attachments: