some notes: ADVAPI32: convert services to use pipes for RPC instead of shared memory

Mike McCormack 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).

Mike



More information about the wine-devel mailing list