Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 810b58b5ad3aca6f3b19f486338ab6f55f65495d
      
https://github.com/WebKit/WebKit/commit/810b58b5ad3aca6f3b19f486338ab6f55f65495d
  Author: Brady Eidson <[email protected]>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M Source/WebKit/Platform/IPC/Connection.cpp
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp

  Log Message:
  -----------
  Clean up some issues with AsyncReplyHandlerWithDispatcher
rdar://180577796

Reviewed by Alex Christensen.

For the new AsyncReplyHandlerWithDispatcher code path added in 313783@main, 
there were two problems we spotted:
1 - AsyncReplyHandlerWithDispatcher handlers didn't handle unlocking like the 
other branches in surrounding code.
2 - Even though the completion handler for a AsyncReplyHandlerWithDispatcher 
tried to dealloc the
  ProcessThrottler::Activity on the main thread, that would only happen when 
the lambda is actually run. If the
  lambda was never run and was deallocated on a non-main thread, then the 
ProcessThrottler::Activity was as well

Fix these by adding some unlocks and adding a wrapper class that always 
deallocates the ProcessThrottler::Activity
on the main thread no matter what.

No new tests (Not directly reproducible at this time, though the code is 
exercised by existing tests)

* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::processIncomingMessage):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::MainThreadActivityReleaser::MainThreadActivityReleaser):
(WebKit::MainThreadActivityReleaser::~MainThreadActivityReleaser):
(WebKit::AuxiliaryProcessProxy::sendMessageImpl):

Canonical link: https://commits.webkit.org/316617@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to