Cancel pending operations for the DCC during Pc::Close()
(using no-try due to bot infra issue) No-try: true Bug: b/276434297 Change-Id: I33f796b501f96731c4ca76cb62c2331f10c795f1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299708 Reviewed-by: Björn Terelius <terelius@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39734}
This commit is contained in:
parent
dc806fd16a
commit
1f708ef2ff
@ -165,6 +165,11 @@ void DataChannelController::SetupDataChannelTransport_n() {
|
|||||||
NotifyDataChannelsOfTransportCreated();
|
NotifyDataChannelsOfTransportCreated();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DataChannelController::PrepareForShutdown() {
|
||||||
|
RTC_DCHECK_RUN_ON(signaling_thread());
|
||||||
|
signaling_safety_.reset();
|
||||||
|
}
|
||||||
|
|
||||||
void DataChannelController::TeardownDataChannelTransport_n() {
|
void DataChannelController::TeardownDataChannelTransport_n() {
|
||||||
RTC_DCHECK_RUN_ON(network_thread());
|
RTC_DCHECK_RUN_ON(network_thread());
|
||||||
if (data_channel_transport()) {
|
if (data_channel_transport()) {
|
||||||
|
|||||||
@ -64,6 +64,9 @@ class DataChannelController : public SctpDataChannelControllerInterface,
|
|||||||
void OnReadyToSend() override;
|
void OnReadyToSend() override;
|
||||||
void OnTransportClosed(RTCError error) override;
|
void OnTransportClosed(RTCError error) override;
|
||||||
|
|
||||||
|
// Called as part of destroying the owning PeerConnection.
|
||||||
|
void PrepareForShutdown();
|
||||||
|
|
||||||
// Called from PeerConnection::SetupDataChannelTransport_n
|
// Called from PeerConnection::SetupDataChannelTransport_n
|
||||||
void SetupDataChannelTransport_n();
|
void SetupDataChannelTransport_n();
|
||||||
// Called from PeerConnection::TeardownDataChannelTransport_n
|
// Called from PeerConnection::TeardownDataChannelTransport_n
|
||||||
|
|||||||
@ -1924,13 +1924,15 @@ void PeerConnection::Close() {
|
|||||||
event_log_.reset();
|
event_log_.reset();
|
||||||
});
|
});
|
||||||
ReportUsagePattern();
|
ReportUsagePattern();
|
||||||
// The .h file says that observer can be discarded after close() returns.
|
|
||||||
// Make sure this is true.
|
|
||||||
observer_ = nullptr;
|
|
||||||
|
|
||||||
// Signal shutdown to the sdp handler. This invalidates weak pointers for
|
// Signal shutdown to the sdp handler. This invalidates weak pointers for
|
||||||
// internal pending callbacks.
|
// internal pending callbacks.
|
||||||
sdp_handler_->PrepareForShutdown();
|
sdp_handler_->PrepareForShutdown();
|
||||||
|
data_channel_controller_.PrepareForShutdown();
|
||||||
|
|
||||||
|
// The .h file says that observer can be discarded after close() returns.
|
||||||
|
// Make sure this is true.
|
||||||
|
observer_ = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PeerConnection::SetIceConnectionState(IceConnectionState new_state) {
|
void PeerConnection::SetIceConnectionState(IceConnectionState new_state) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user