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

Reply via email to