RFC: KUSER_SHARED_DATA update patch to fix bug 29168

Joey Yandle dragon at dancingdragon.be
Sat Mar 24 18:11:27 CDT 2012


> When numbers don't increment (as happens now) protection is
> happy. When they start to increment, even on fast PCs round trip
> user-space->wineserver->ntoskrnl will take way longer then it "should".
> 

Indeed, that pathway will never be fast enough. I'm surprised it works
with no incrementing, but perhaps that's for backwards compatibility
with previous Windows versions.

So, to summarize:

1. Can't use a separate per-process thread because it will break
applications.

2. Can't used shared memory segment between wineserver and wine
processes because it violates design principles of wineserver.

3. Can't use TimerQueue/APC because too much jitter in callback times.

Is this a fair appraisal of the position of the Wine devs?  If so, I'll
fork a TOR-capable branch so others can play.  I'll start with my patch
for case #1, since it is small and works well for TOR.  If I can get #2
working properly, I'll switch to that, since it is more technically
correct, though as a larger patch it will be more difficult to maintain.

cheers,

Joey



More information about the wine-devel mailing list