[Bug 49094] "err:ntdll:RtlpWaitForCriticalSection" racy hang when starting/running StarCraft 2
WineHQ Bugzilla
wine-bugs at winehq.org
Wed May 6 15:12:44 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=49094
Patrick Donnelly <bat.misc at batbytes.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Fixed by SHA1| |449ca2fbf9e44a40ff2cc6eedad
| |a8dd2f94c7adf
Resolution|--- |FIXED
--- Comment #1 from Patrick Donnelly <bat.misc at batbytes.com> ---
It appears this commit fixes the issue:
commit 449ca2fbf9e44a40ff2cc6eedada8dd2f94c7adf HEAD
Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date: Tue May 5 20:30:39 2020 +0800
user32: Leave critical section before calling callbacks in
EnumDisplayMonitors().
Previously, callbacks were called with a critical section held. It was
intended that monitor handles passed to callbacks should always be valid.
But it created a deadlock condition when callbacks call other functions
which try to grab the critical section using a different thread. Tests
also show that a monitor handle can be invalid after a display change.
So do not hold the critical section when calling callbacks. Monitor
handles will be checked when passed to GetMonitorInfo(), which is the
sole function that consumes HMONITORs.
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
--
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