[Bug 31566] Fallout 3: regression causes block at critical section when radio is enabled
wine-bugs at winehq.org
wine-bugs at winehq.org
Thu Jul 17 14:48:16 CDT 2014
http://bugs.winehq.org/show_bug.cgi?id=31566
--- Comment #7 from Erich Hoover <erich.e.hoover at gmail.com> ---
(In reply to Erich Hoover from comment #6)
> Created attachment 49035 [details]
> Flip the order of a very critical set of locks
> ...
Just a little more detail about the call order, for those that are interested
(why this change is necessary):
== Thread 1==
BaseRendererImpl_Receive
-> EnterCriticalSection(csRenderLock);
-> ...
-> QualityControlRender_BeginRender
-> ReferenceClock_GetTime
-> EnterCriticalSection(filter.csFilter);
-> ...
-> LeaveCriticalSection(filter.csFilter);
-> ...
-> LeaveCriticalSection(csRenderLock);
== Thread 2==
BaseRenderer_InputPin_BeginFlush
-> EnterCriticalSection(filter.csFilter);
-> EnterCriticalSection(csRenderLock);
-> ...
-> LeaveCriticalSection(filter.csFilter);
-> LeaveCriticalSection(csRenderLock);
There are a few other places that do similar things, so I went ahead and put
together patches for all the obvious ones:
https://github.com/compholio/wine-compholio/tree/master/patches/17-strmbase-Lock_Race_Conditions
--
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