[Bug 46047] Multiple applications want Windows 8+ futex-like operations kernel32.dll.WaitOnAddress , kernel32.dll.WakeByAddress{All,Single} (VLC)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Nov 18 01:36:21 CST 2018


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

--- Comment #4 from Greg Smith <codedonewell at gmail.com> ---
There is definitely a synchronisation issue with these functions. It is
possible for another thread to change the address contents and signal inside
the time that WaitOnAddress checks the address contents and when it waits for
an event.
It is a very small window for the problem to occur, but the Star Citizen start
up seems to trigger it every time so far. However, I doubt that there have been
more than a 20 or 30 attempts, so the sample size is small and it may not
always encounter this condition.
As far as a solution goes, I haven't yet thought of a way to do it using the
NtWaitForKeyedEvent/NtReleaseKeyedEvent functions.  I do not have your
experience with windows programming nor wine, so there may well be a way.
With a common/dedicated mutex and condition pair for the WaitOnAddress
WakeByAddress* functions it would be possible.

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