diff options
author | Matt A. Tobin <email@mattatobin.com> | 2022-04-01 04:02:20 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2022-04-01 04:02:20 -0500 |
commit | 815beaf89b317753f2a9e228ae388e78904ed7fb (patch) | |
tree | b797f835d626d32fa5d919f589cc2cac0cd029c6 /system | |
parent | 1dfdb98a53a84e07f3dc814c459e343f26b482d2 (diff) | |
download | aura-central-815beaf89b317753f2a9e228ae388e78904ed7fb.tar.gz |
Revert "[network] SocketTransport2 cleanup"
This reverts commit c08f3cbe6cd1d6658d9d3dd5292806861981acc4.
Diffstat (limited to 'system')
-rw-r--r-- | system/network/base/nsSocketTransport2.cpp | 41 | ||||
-rw-r--r-- | system/network/base/nsSocketTransport2.h | 2 |
2 files changed, 14 insertions, 29 deletions
diff --git a/system/network/base/nsSocketTransport2.cpp b/system/network/base/nsSocketTransport2.cpp index d2662fa0a..eedf5f895 100644 --- a/system/network/base/nsSocketTransport2.cpp +++ b/system/network/base/nsSocketTransport2.cpp @@ -930,6 +930,7 @@ nsresult nsSocketTransport::InitWithConnectedSocket(PRFileDesc *fd, const NetAddr *addr) { MOZ_ASSERT(PR_GetCurrentThread() == gSocketThread, "wrong thread"); + NS_ASSERTION(!mFD.IsInitialized(), "already initialized"); char buf[kNetAddrMaxCStrBufSize]; NetAddrToString(addr, buf, sizeof(buf)); @@ -955,7 +956,6 @@ nsSocketTransport::InitWithConnectedSocket(PRFileDesc *fd, const NetAddr *addr) { MutexAutoLock lock(mLock); - NS_ASSERTION(!mFD.IsInitialized(), "already initialized"); mFD = fd; mFDref = 1; mFDconnected = 1; @@ -1030,7 +1030,6 @@ nsSocketTransport::ResolveHost() this, SocketHost().get(), SocketPort(), mConnectionFlags & nsSocketTransport::BYPASS_CACHE ? " bypass cache" : "")); - MOZ_ASSERT(OnSocketThread(), "not on socket thread"); nsresult rv; @@ -1237,7 +1236,6 @@ nsresult nsSocketTransport::InitiateSocket() { SOCKET_LOG(("nsSocketTransport::InitiateSocket [this=%p]\n", this)); - MOZ_ASSERT(OnSocketThread(), "not on socket thread"); nsresult rv; bool isLocal; @@ -1321,14 +1319,11 @@ nsSocketTransport::InitiateSocket() // // if we already have a connected socket, then just attach and return. // - { - MutexAutoLock lock(mLock); - if (mFD.IsInitialized()) { + if (mFD.IsInitialized()) { rv = mSocketTransportService->AttachSocket(mFD, this); if (NS_SUCCEEDED(rv)) - mAttached = true; + mAttached = true; return rv; - } } // @@ -1393,20 +1388,19 @@ nsSocketTransport::InitiateSocket() opt.value.linger.linger = 0; PR_SetSocketOption(fd, &opt); #endif - // up to here, mFD will only be accessed by us - + + // inform socket transport about this newly created socket... + rv = mSocketTransportService->AttachSocket(fd, this); + if (NS_FAILED(rv)) { + CloseSocket(fd); + return rv; + } + mAttached = true; + // assign mFD so that we can properly handle OnSocketDetached before we've // established a connection. { MutexAutoLock lock(mLock); - // inform socket transport about this newly created socket... - rv = mSocketTransportService->AttachSocket(fd, this); - if (NS_FAILED(rv)) { - CloseSocket(fd); - return rv; - } - mAttached = true; - mFD = fd; mFDref = 1; mFDconnected = false; @@ -1551,12 +1545,8 @@ nsSocketTransport::RecoverFromError() nsresult rv; -#ifdef DEBUG - { - MutexAutoLock lock(mLock); - NS_ASSERTION(!mFDconnected, "socket should not be connected"); - } -#endif + // OK to check this outside mLock + NS_ASSERTION(!mFDconnected, "socket should not be connected"); // all connection failures need to be reported to DNS so that the next // time we will use a different address if available. @@ -1793,7 +1783,6 @@ nsSocketTransport::ReleaseFD_Locked(PRFileDesc *fd) void nsSocketTransport::OnSocketEvent(uint32_t type, nsresult status, nsISupports *param) { - MOZ_ASSERT(OnSocketThread(), "not on socket thread"); SOCKET_LOG(("nsSocketTransport::OnSocketEvent [this=%p type=%u status=%x param=%p]\n", this, type, status, param)); @@ -1906,7 +1895,6 @@ nsSocketTransport::OnSocketEvent(uint32_t type, nsresult status, nsISupports *pa void nsSocketTransport::OnSocketReady(PRFileDesc *fd, int16_t outFlags) { - MOZ_ASSERT(OnSocketThread(), "not on socket thread"); SOCKET_LOG(("nsSocketTransport::OnSocketReady [this=%p outFlags=%hd]\n", this, outFlags)); @@ -2415,7 +2403,6 @@ nsSocketTransport::Bind(NetAddr *aLocalAddr) NS_ENSURE_ARG(aLocalAddr); MutexAutoLock lock(mLock); - MOZ_ASSERT(OnSocketThread(), "not on socket thread"); if (mAttached) { return NS_ERROR_FAILURE; } diff --git a/system/network/base/nsSocketTransport2.h b/system/network/base/nsSocketTransport2.h index 89b75efa5..cb107e6e7 100644 --- a/system/network/base/nsSocketTransport2.h +++ b/system/network/base/nsSocketTransport2.h @@ -350,13 +350,11 @@ private: void OnMsgInputPending() { - MOZ_ASSERT(OnSocketThread(), "not on socket thread"); if (mState == STATE_TRANSFERRING) mPollFlags |= (PR_POLL_READ | PR_POLL_EXCEPT); } void OnMsgOutputPending() { - MOZ_ASSERT(OnSocketThread(), "not on socket thread"); if (mState == STATE_TRANSFERRING) mPollFlags |= (PR_POLL_WRITE | PR_POLL_EXCEPT); } |