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