mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-10 09:19:28 +00:00
Bug 851563 - Fix memory leak in UnixSocketConsumer, r=qdot
This commit is contained in:
parent
f1dceb31cf
commit
211f1afa9e
@ -780,12 +780,16 @@ UnixSocketConsumer::ConnectSocket(UnixSocketConnector* aConnector,
|
||||
{
|
||||
MOZ_ASSERT(aConnector);
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
nsAutoPtr<UnixSocketConnector> connector(aConnector);
|
||||
|
||||
if (mImpl) {
|
||||
NS_WARNING("Socket already connecting/connected!");
|
||||
return false;
|
||||
}
|
||||
|
||||
nsCString addr(aAddress);
|
||||
mImpl = new UnixSocketImpl(this, aConnector, addr);
|
||||
mImpl = new UnixSocketImpl(this, connector.forget(), addr);
|
||||
MessageLoop* ioLoop = XRE_GetIOMessageLoop();
|
||||
mConnectionStatus = SOCKET_CONNECTING;
|
||||
if (aDelayMs > 0) {
|
||||
@ -801,11 +805,15 @@ UnixSocketConsumer::ListenSocket(UnixSocketConnector* aConnector)
|
||||
{
|
||||
MOZ_ASSERT(aConnector);
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
nsAutoPtr<UnixSocketConnector> connector(aConnector);
|
||||
|
||||
if (mImpl) {
|
||||
NS_WARNING("Socket already connecting/connected!");
|
||||
return false;
|
||||
}
|
||||
mImpl = new UnixSocketImpl(this, aConnector, EmptyCString());
|
||||
|
||||
mImpl = new UnixSocketImpl(this, connector.forget(), EmptyCString());
|
||||
mConnectionStatus = SOCKET_LISTENING;
|
||||
XRE_GetIOMessageLoop()->PostTask(FROM_HERE,
|
||||
new SocketAcceptTask(mImpl));
|
||||
|
Loading…
x
Reference in New Issue
Block a user