[Bug 46099] Star Citizen not loading after implementation of WaitOnAddress () in wine

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Nov 18 00:03:14 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=46099

--- Comment #15 from Greg Smith <codedonewell at gmail.com> ---
Diving a bit deeper:  When thread 009e calls WaitOnAddress/RtlWaitOnAddress, it
does some necessary checks before actually waiting, the problem is occuring
because after it has performed the checks but before it can get a lock on
keyed_event, thread 0090 has called RtlWakeAddressAll and changed that address'
contents.
When thread 009e goes into the wait code, the address has been changed but it
never gets notified.
Had thread 0090 been forced to wait until 009e had completed it checks and
started it's wait, then the deadlock would not have happened.
I'm not yet sure of a good way to provide the necessary synchronisation here. 
I'll have to research how it is done elsewhere in wine.  I suspect that
attention from more experienced wine devs is called for.

-- 
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.



More information about the wine-bugs mailing list