Index: net/http/http_network_transaction.cc |
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc |
index 7a10a1bec1db675316d0be8c448ed8af00a4ffa1..ab43f46756d80f7bb964960180669961fc896cd1 100644 |
--- a/net/http/http_network_transaction.cc |
+++ b/net/http/http_network_transaction.cc |
@@ -479,6 +479,12 @@ void HttpNetworkTransaction::DoCallback(int rv) { |
void HttpNetworkTransaction::OnIOComplete(int result) { |
int rv = DoLoop(result); |
+ if (rv == ERR_PIPELINE_EVICTION) { |
+ stream_.reset(); |
+ stream_request_.reset(); |
+ next_state_ = STATE_NONE; |
+ RestartIgnoringLastError(user_callback_); |
+ } |
if (rv != ERR_IO_PENDING) |
DoCallback(rv); |
} |