http://bugs.winehq.org/show_bug.cgi?id=60334 --- Comment #5 from Béla Gyebrószki <gyebro69@gmail.com> --- (In reply to Alistair Leslie-Hughes from comment #2)
MSDN states that 64 is the limit for this function and suggest a workaround on the client side to use a thread for each block of 64 wait objects.
This really just the result of something else going on or not.
What's causing more named pipes to be created? Why aren't they being closed/reset/reused? Missing callback call? I investigated this locally with AI-assisted analysis. These observations are from tests I ran on my machine with Wine a15ee2ccf20.
The additional listeners correlate with temporary STA host apartments created for the DestinationList COM class (Jump Lists). In a five-launch/exit test, 24 such host apartments were created and destroyed. Their threads completed CoUninitialize and exited, but all 24 associated named-pipe listeners remained in the RPC wait array. Marshalling the hosted objects with MSHCTX_INPROC triggered endpoint registration. All 96 logged COM calls to these apartments selected Wine’s local window-dispatch path; no listener accepted a connection in the Steam process during that run. So the observed accumulation persists after apartment teardown, even though those pipe listeners were unused in this workload. I have not identified a missing callback or established what Windows does with the corresponding endpoints. As a local experiment, deferring pipe registration for in-process STA marshals prevented the accumulation. With the original rpcrt4 waiting code, 20 launch/exit cycles completed successfully and the wait array stayed at two handles: one listener and the manager event. This experiment has not validated general COM compatibility or subsequent cross-process proxy forwarding. Does this point to combase’s endpoint-registration/lifetime handling as the next place to investigate? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.