summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/access')
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index c86cc9d8c9..e1084e0870 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -970,8 +970,11 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
// emit error for all waiting replies
do {
- // Need to dequeu the request so that we can emit the error.
- if (!reply)
+ // First requeue the already pipelined requests for the current failed reply,
+ // then dequeue pending requests so we can also mark them as finished with error
+ if (reply)
+ requeueCurrentlyPipelinedRequests();
+ else
connection->d_func()->dequeueRequest(socket);
if (reply) {