Bug 1119746: Signal active listening in |ListenSocket|, r=qdot

The listen socket will now send-out CONNECT_SUCCESS after it started
listening. Callers might rely on this event. Before, CONNECT_SUCCESS
in |ListenSocket| was not used by callers.
This commit is contained in:
Thomas Zimmermann 2015-01-20 10:17:19 +08:00
parent 1f883b28e2
commit 7a10047f6e

View File

@ -225,20 +225,7 @@ ListenSocketIO::OnAccepted(int aFd,
RemoveWatchers(READ_WATCHER|WRITE_WATCHER);
nsRefPtr<nsRunnable> runnable;
if (NS_SUCCEEDED(mCOSocketIO->Accept(aFd, aAddr, aAddrLen))) {
runnable =
new SocketIOEventRunnable<ListenSocketIO>(
this, SocketIOEventRunnable<ListenSocketIO>::CONNECT_SUCCESS);
return;
} else {
runnable =
new SocketIOEventRunnable<ListenSocketIO>(
this, SocketIOEventRunnable<ListenSocketIO>::CONNECT_ERROR);
}
NS_DispatchToMainThread(runnable);
mCOSocketIO->Accept(aFd, aAddr, aAddrLen);
}
void
@ -262,6 +249,12 @@ ListenSocketIO::OnListening()
}
AddWatchers(READ_WATCHER, true);
/* We signal a successful 'connection' to a local address for listening. */
nsRefPtr<nsRunnable> runnable =
new SocketIOEventRunnable<ListenSocketIO>(
this, SocketIOEventRunnable<ListenSocketIO>::CONNECT_SUCCESS);
NS_DispatchToMainThread(runnable);
}
void