Closed
Description
While debugging something else, I noticed: https://golang.org/issue/7521?c=2 in transport.go's func (pc *persistConn) roundTrip(req *transportRequest) (resp *Response, err error) { ... we only check the return value of Request.Write in the case where it happens before the server replies. If the server writes half of it, pauses for a moment, and then the server replies with a valid happy response, we respond successfully, even if the write subsequently then fails. Bigger fear: could we then mark a persistConn as idle before it's finished writing and enqueue a second write behind it, even if the first one is blocked or will fail?