some notes: ADVAPI32: convert services to use pipes for RPC instead
of shared memory
mike at codeweavers.com
Mon Jan 24 22:19:00 CST 2005
Alexander Yaworsky wrote:
> there should be only one dispatcher thread per process that accepts
> control requests. For shared services it starts another service threads
> on demand and the amount of them is not limited with MAXIMUM_WAIT_OBJECTS.
I'm aware that there should only be one thread, and should have put a
comment in there about why I chose one service manager thread per service.
The reason is that there is current no way to wait on more than one pipe
at a time in Wine, as overlapped I/O on pipes does not work correctly.
Since I need to listen to many pipes, I need one thread per pipe so each
thread can block in ReadFile for one pipe only.
That reminds me that now Eric Poeuch's overlapped I/O changes are in, I
need to do some work on overlapped I/O for pipes and to make the
wineserver behave better (ie. fix the iTunes problem properly).
More information about the wine-devel