Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0d44f8167e57e3020da3f8b53961a59bae00b3f3
https://github.com/WebKit/WebKit/commit/0d44f8167e57e3020da3f8b53961a59bae00b3f3
Author: Youenn Fablet <[email protected]>
Date: 2026-04-03 (Fri, 03 Apr 2026)
Changed paths:
M Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/task_queue_gcd.cc
Log Message:
-----------
TaskQueueGcd::Delete can deadlock
rdar://170066167
https://bugs.webkit.org/show_bug.cgi?id=310008
Reviewed by Eric Carlson.
RTPSenderVideoFrameTransformerDelegate::OnTransformedFrame is hopping to its
transformer queue with a ref to RTPSenderVideoFrameTransformerDelegate.
When executing the task, the task might have the last reference to
RTPSenderVideoFrameTransformerDelegate, leading to the destruction of the
transformer queue within itself.
In that case, the transformer queue will try to dispatch_sync to itself to
ensure that its active boolean flag is set appropriately. This will deadlock.
To prevent this, if TaskQueueGcd::Delete os called from the queue itself, we
directly set the active boolean flag.
Canonical link: https://commits.webkit.org/310507@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications