diff options
Diffstat (limited to 'src/network/access/qhttpnetworkconnectionchannel.cpp')
-rw-r--r-- | src/network/access/qhttpnetworkconnectionchannel.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index 84681561f2..6b2018ef86 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -972,8 +972,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) { |