summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2022-04-01 04:02:20 -0500
committerMatt A. Tobin <email@mattatobin.com>2022-04-01 04:02:20 -0500
commit815beaf89b317753f2a9e228ae388e78904ed7fb (patch)
treeb797f835d626d32fa5d919f589cc2cac0cd029c6 /system
parent1dfdb98a53a84e07f3dc814c459e343f26b482d2 (diff)
downloadaura-central-815beaf89b317753f2a9e228ae388e78904ed7fb.tar.gz
Revert "[network] SocketTransport2 cleanup"
This reverts commit c08f3cbe6cd1d6658d9d3dd5292806861981acc4.
Diffstat (limited to 'system')
-rw-r--r--system/network/base/nsSocketTransport2.cpp41
-rw-r--r--system/network/base/nsSocketTransport2.h2
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);
}