Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 51833439139b0bb53857d4342ce05b61dfde1683
https://github.com/WebKit/WebKit/commit/51833439139b0bb53857d4342ce05b61dfde1683
Author: Chris Dumez <[email protected]>
Date: 2023-05-01 (Mon, 01 May 2023)
Changed paths:
M Source/WebKit/Platform/IPC/Connection.cpp
M Source/WebKit/Platform/IPC/Connection.h
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
Log Message:
-----------
[Cocoa] Temporarily wake up remote process if outgoing IPC message queue
becomes too large
https://bugs.webkit.org/show_bug.cgi?id=256181
Reviewed by Ben Nham.
Temporarily wake up remote process if outgoing IPC message queue becomes too
large, to avoid potentially bad memory growth when the remote process is
suspended.
This currently only works for AuxiliaryProcessProxy, so IPC from the UIProcess
to child processes. However, we may want to consider extending this to IPC
from the network process to WebProcesses in a follow-up.
In the current proposal, we wake up the destination process for 3 seconds when
its outgoing message queue has reached 1024 messages. We do so at most once
every 30 seconds.
* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::setOutgoingMessageQueueIsGrowingLargeCallback):
(IPC::Connection::invalidate):
(IPC::Connection::sendMessage):
* Source/WebKit/Platform/IPC/Connection.h:
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::AuxiliaryProcessProxy):
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
(WebKit::AuxiliaryProcessProxy::outgoingMessageQueueIsGrowingLarge):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
Canonical link: https://commits.webkit.org/263570@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes