зеркало из https://github.com/mozilla/gecko-dev.git
Bug 804237. r=biesi, a=akeybl
This commit is contained in:
Родитель
250cd0f6df
Коммит
71e888ec83
|
@ -78,6 +78,7 @@ public:
|
|||
PRStatus DoHandshake(PRFileDesc *fd, int16_t oflags = -1);
|
||||
int16_t GetPollFlags() const;
|
||||
bool IsConnected() const { return mState == SOCKS_CONNECTED; }
|
||||
void ForgetFD() { mFD = nullptr; }
|
||||
|
||||
private:
|
||||
void HandshakeFinished(PRErrorCode err = 0);
|
||||
|
@ -273,8 +274,10 @@ nsSOCKSSocketInfo::OnLookupComplete(nsICancelable *aRequest,
|
|||
mLookupStatus = aStatus;
|
||||
mDnsRec = aRecord;
|
||||
mState = SOCKS_DNS_COMPLETE;
|
||||
ConnectToProxy(mFD);
|
||||
mFD = nullptr;
|
||||
if (mFD) {
|
||||
ConnectToProxy(mFD);
|
||||
ForgetFD();
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -1125,6 +1128,7 @@ nsSOCKSIOLayerClose(PRFileDesc *fd)
|
|||
|
||||
if (info && id == nsSOCKSIOLayerIdentity)
|
||||
{
|
||||
info->ForgetFD();
|
||||
NS_RELEASE(info);
|
||||
fd->identity = PR_INVALID_IO_LAYER;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче