diff options
author | Shane Kearns <shane.kearns@accenture.com> | 2011-03-08 16:04:05 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@accenture.com> | 2011-03-08 16:04:05 (GMT) |
commit | b6cc353adb0613ce41153181b4f08bb81b7acf68 (patch) | |
tree | 1c25cc922c513f8666470695a0d63b8a19e223a4 /src/network/access/qhttpnetworkconnection.cpp | |
parent | 5ef1fb5823a25cd4b27029701f7d707c82750acb (diff) | |
parent | 206b614f2e9623d792e6f398bf11765a44c272f5 (diff) | |
download | Qt-b6cc353adb0613ce41153181b4f08bb81b7acf68.zip Qt-b6cc353adb0613ce41153181b4f08bb81b7acf68.tar.gz Qt-b6cc353adb0613ce41153181b4f08bb81b7acf68.tar.bz2 |
Merge remote branch 'earth/master' into symbian-socket-engine
Conflicts:
src/corelib/kernel/qcore_symbian_p.h
src/network/kernel/qnetworkinterface_symbian.cpp
Diffstat (limited to 'src/network/access/qhttpnetworkconnection.cpp')
-rw-r--r-- | src/network/access/qhttpnetworkconnection.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index a1c7cf1..35c3a67 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -286,7 +286,13 @@ void QHttpNetworkConnectionPrivate::emitReplyError(QAbstractSocket *socket, int i = indexOf(socket); // remove the corrupt data if any reply->d_func()->eraseData(); + + // Clean the channel channels[i].close(); + channels[i].reply = 0; + channels[i].request = QHttpNetworkRequest(); + channels[i].requeueCurrentlyPipelinedRequests(); + // send the next request QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); } @@ -759,7 +765,7 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest() //resend the necessary ones. for (int i = 0; i < channelCount; ++i) { - if (channels[i].resendCurrent) { + if (channels[i].resendCurrent && (channels[i].state != QHttpNetworkConnectionChannel::ClosingState)) { channels[i].resendCurrent = false; channels[i].state = QHttpNetworkConnectionChannel::IdleState; @@ -855,12 +861,17 @@ QHttpNetworkReply* QHttpNetworkConnection::sendRequest(const QHttpNetworkRequest return d->queueRequest(request); } -bool QHttpNetworkConnection::isEncrypted() const +bool QHttpNetworkConnection::isSsl() const { Q_D(const QHttpNetworkConnection); return d->encrypt; } +QHttpNetworkConnectionChannel *QHttpNetworkConnection::channels() const +{ + return d_func()->channels; +} + #ifndef QT_NO_NETWORKPROXY void QHttpNetworkConnection::setCacheProxy(const QNetworkProxy &networkProxy) { |