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();
|
||||
}
|
||||
|
||||
void DataChannelController::PrepareForShutdown() {
|
||||
RTC_DCHECK_RUN_ON(signaling_thread());
|
||||
signaling_safety_.reset();
|
||||
}
|
||||
|
||||
void DataChannelController::TeardownDataChannelTransport_n() {
|
||||
RTC_DCHECK_RUN_ON(network_thread());
|
||||
if (data_channel_transport()) {
|
||||
|
||||
@ -64,6 +64,9 @@ class DataChannelController : public SctpDataChannelControllerInterface,
|
||||
void OnReadyToSend() override;
|
||||
void OnTransportClosed(RTCError error) override;
|
||||
|
||||
// Called as part of destroying the owning PeerConnection.
|
||||
void PrepareForShutdown();
|
||||
|
||||
// Called from PeerConnection::SetupDataChannelTransport_n
|
||||
void SetupDataChannelTransport_n();
|
||||
// Called from PeerConnection::TeardownDataChannelTransport_n
|
||||
|
||||
@ -1924,13 +1924,15 @@ void PeerConnection::Close() {
|
||||
event_log_.reset();
|
||||
});
|
||||
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
|
||||
// internal pending callbacks.
|
||||
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) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user