/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
private: virtual ~nsTransportEventSinkProxy() { // our reference to mSink could be the last, so be sure to release // it on the target thread. otherwise, we could get into trouble.
NS_ProxyRelease("nsTransportEventSinkProxy::mSink", mTarget,
mSink.forget());
}
~nsTransportStatusEvent() { auto ReleaseTransport = [transport(std::move(mTransport))]() mutable {}; if (!net::OnSocketThread()) {
net::gSocketTransportService->Dispatch(NS_NewRunnableFunction( "nsHttpConnection::~nsHttpConnection", std::move(ReleaseTransport)));
}
}
NS_IMETHOD Run() override { // since this event is being handled, we need to clear the proxy's ref. // if not coalescing all, then last event may not equal self!
{
MutexAutoLock lock(mProxy->mLock); if (mProxy->mLastEvent == this) {
mProxy->mLastEvent = nullptr;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.