Bug 244825

Summary: Allow running IPC::Connection with an 'owning' thread that isn't the main thread
Product: WebKit Reporter: Matt Woodrow <mattwoodrow>
Component: PlatformAssignee: Matt Woodrow <mattwoodrow>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 245475, 246305, 246308    
Bug Blocks: 218482, 244828    

Description Matt Woodrow 2022-09-05 21:09:15 PDT
In order to do rendering in the GPU process (for bug 218482), we require the ability to do synchronous IPC from web worker threads.

Currently, IPC::Connection supports sending asynchronous messages from any thread, but synchronous messages can only be sent from the main thread.

This allows secondary connections to be created for worker threads, and supports sending sync messages from the creation/owner thread.

For simplicity, receiving of other messages while blocked waiting for a sync message reply isn't supported in this mode.
Comment 1 Matt Woodrow 2022-09-05 21:18:33 PDT
Pull request: https://github.com/WebKit/WebKit/pull/4043
Comment 2 Radar WebKit Bug Importer 2022-09-12 21:10:18 PDT
<rdar://problem/99853431>
Comment 3 EWS 2022-10-22 02:06:22 PDT
Committed 255868@main (4ba481e29602): <https://commits.webkit.org/255868@main>

Reviewed commits have been landed. Closing PR #4043 and removing active labels.