[Bug 48408] mixthread monopolizes buffer_list_lock if WaitForSingleObject returns quickly, causing livelock and game freeze

WineHQ Bugzilla wine-bugs at winehq.org
Thu Jan 9 15:01:30 CST 2020


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

Zebediah Figura <z.figura12 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |z.figura12 at gmail.com

--- Comment #1 from Zebediah Figura <z.figura12 at gmail.com> ---
Created attachment 66211
  --> https://bugs.winehq.org/attachment.cgi?id=66211
dsound: Use an SRW lock for buffer_list_lock.

Since the problem is essentially unfairness, and RTL resources are unfair (I
wrote some tests for this), I think the best thing to do is change to using SRW
locks, which are fair, are already more performant without out-of-tree patches,
and are also documented.

The attached patch does this. I get no worse performance with it than with RTL
resources, and it seems to be better at avoiding hiccups that appear for
whatever reason.

If you can, please test with the affected real-world application.

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