fixes bug 103043 "nsSocketTransport should only fire OnStatus when status

changes" r=bbaetz, sr=mscott
This commit is contained in:
darin%netscape.com 2001-10-08 22:17:25 +00:00
Родитель 0fcd318c44
Коммит 836a737b32
2 изменённых файлов: 10 добавлений и 0 удалений

Просмотреть файл

@ -156,6 +156,7 @@ nsSocketTransport::nsSocketTransport():
mReadWriteState(0),
mSelectFlags(0),
mStatus(NS_OK),
mLastOnStatusMsg(0),
mSocketFD(nsnull),
mSocketRef(0),
mSocketLock(0),
@ -1841,6 +1842,12 @@ nsSocketTransport::OnStatus(nsSocketRequest *req, nsISupports *ctxt, nsresult me
if (!mProgressSink)
return NS_ERROR_FAILURE;
// no reason to report this status message again.
if (message == mLastOnStatusMsg)
return NS_OK;
mLastOnStatusMsg = message;
nsAutoString host; host.AssignWithConversion(mHostName);
return mProgressSink->OnStatus(req, ctxt, message, host.get());
}

Просмотреть файл

@ -264,6 +264,9 @@ protected:
PRInt16 mSelectFlags;
nsresult mStatus;
// last status reported via OnStatus (eg. NS_NET_STATUS_RESOLVING_HOST)
nsresult mLastOnStatusMsg;
PRFileDesc* mSocketFD;
PRUint32 mSocketRef; // if non-zero, keep the socket open unless there is an error
PRUint32 mSocketLock; // if non-zero, do not close the socket even if there is an error