Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 50f865ffbe32f1fc8a092583f719630b62ae7604
      
https://github.com/WebKit/WebKit/commit/50f865ffbe32f1fc8a092583f719630b62ae7604
  Author: Matt Woodrow <[email protected]>
  Date:   2023-05-31 (Wed, 31 May 2023)

  Changed paths:
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp

  Log Message:
  -----------
  RemoteGraphicsContextGLProxy::initializeIPC makes a copy of the 
StreamServerConnection::Handle
https://bugs.webkit.org/show_bug.cgi?id=257519
<rdar://109720377>

Reviewed by Kimmo Kinnunen.

The GPUConnectionToWebProcess::CreateGraphicsContextGL object's constructor 
doesn't actually move, so we end up making a copy for the IPC message.

The 'serverConnectionHandle' instance is then still alive, and holding on to a 
MachSendRight.

waitUntilInitialized can then block (for the 30 second timeout) if the GPUP 
crashes, since notification of the crash doesn't happen until all send rights 
are destroyed (including the one on the stack).

This change ensures that our copy of the handle is cleared, before trying to 
wait on the connection.

* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::initializeIPC):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to