From 9b6f3ef459ba36ea7538cb7bd5c49644cb7ab31c Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Tue, 5 Aug 2014 17:28:27 -0600 Subject: [PATCH] Removed strmbase/quartz locking fix patches (accepted upstream). --- README.md | 1 - debian/changelog | 3 +- patches/Makefile | 24 ------------ ...e-condition-on-InputPin_BeginFlush-b.patch | 27 -------------- ...e-condition-on-InputPin_EndFlush-bet.patch | 37 ------------------- ...e-condition-on-InputPin_EndOfStream-.patch | 37 ------------------- ...condition-on-EndOfStream-between-csR.patch | 27 -------------- ...condition-on-EndFlush-between-csRend.patch | 31 ---------------- ...condition-between-EndOfStream-and-Pa.patch | 25 ------------- .../strmbase-Lock_Race_Conditions/definition | 4 -- 10 files changed, 2 insertions(+), 214 deletions(-) delete mode 100644 patches/strmbase-Lock_Race_Conditions/0001-strmbase-Fix-race-condition-on-InputPin_BeginFlush-b.patch delete mode 100644 patches/strmbase-Lock_Race_Conditions/0002-strmbase-Fix-race-condition-on-InputPin_EndFlush-bet.patch delete mode 100644 patches/strmbase-Lock_Race_Conditions/0003-strmbase-Fix-race-condition-on-InputPin_EndOfStream-.patch delete mode 100644 patches/strmbase-Lock_Race_Conditions/0004-quartz-Fix-race-condition-on-EndOfStream-between-csR.patch delete mode 100644 patches/strmbase-Lock_Race_Conditions/0005-quartz-Fix-race-condition-on-EndFlush-between-csRend.patch delete mode 100644 patches/strmbase-Lock_Race_Conditions/0006-quartz-Fix-race-condition-between-EndOfStream-and-Pa.patch delete mode 100644 patches/strmbase-Lock_Race_Conditions/definition diff --git a/README.md b/README.md index 77e44c16..d9294a4b 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,6 @@ Wine-Compholio contains fixes for the following Wine bugs: * Add support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](http://bugs.winehq.org/show_bug.cgi?id=24721 "Explorer++ crashes when choosing to view large icons or extra large icons")) * Allow special characters in pipe names ([Wine Bug #28995](http://bugs.winehq.org/show_bug.cgi?id=28995 "Unable to use named pipes with \">\" character in the name")) * Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550 "ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe)")) -* Fix race conditions and deadlocks in strmbase/quartz ([Wine Bug #31566](http://bugs.winehq.org/show_bug.cgi?id=31566 "Fallout 3: regression causes block at critical section when radio is enabled")) * GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980 "Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object)")) * Implement a Microsoft Yahei replacement font ([Wine Bug #13829](http://bugs.winehq.org/show_bug.cgi?id=13829 "Wine does not have CJK fonts")) * Implement an Arial replacement font ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323 "Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed")) diff --git a/debian/changelog b/debian/changelog index 53eacc2d..d828764d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,7 +17,8 @@ wine-compholio (1.7.24) UNRELEASED; urgency=low * Added patch to use manual redirection for RunDLL_CallEntry16. * Added patch to set ldr.EntryPoint for main executable. * Removed patch to create directories (accepted upstream). - -- Erich E. Hoover Wed, 30 Jul 2014 17:40:14 -0600 + * Removed strmbase/quartz locking fix patches (accepted upstream). + -- Erich E. Hoover Tue, 05 Aug 2014 17:28:04 -0600 wine-compholio (1.7.23) unstable; urgency=low * Rewrite of patch system to simplify maintaining large patchsets. diff --git a/patches/Makefile b/patches/Makefile index 2b433385..0fc948d6 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -33,7 +33,6 @@ PATCHLIST := Miscellaneous.ok \ shell32-RunDLL_CallEntry16.ok \ shell32-SHCreateSessionKey.ok \ shlwapi-UrlCombine.ok \ - strmbase-Lock_Race_Conditions.ok \ user32-GetSystemMetrics.ok \ user32-GetTipText.ok \ wineboot-HKEY_DYN_DATA.ok \ @@ -594,29 +593,6 @@ shlwapi-UrlCombine.ok: echo '+ { "shlwapi-UrlCombine", "Sebastian Lackner", "Workaround for broken implementation of shlwapi url functions." },'; \ ) > shlwapi-UrlCombine.ok -# Patchset strmbase-Lock_Race_Conditions -# | -# | Included patches: -# | * Fix possible race conditions in strmbase/quartz. [by Erich E. Hoover] -# | -# | This patchset fixes the following Wine bugs: -# | * [#31566] Fallout 3: regression causes block at critical section when radio is enabled -# | -# | Modified files: -# | * dlls/quartz/dsoundrender.c, dlls/quartz/videorenderer.c, dlls/strmbase/renderer.c -# | -.INTERMEDIATE: strmbase-Lock_Race_Conditions.ok -strmbase-Lock_Race_Conditions.ok: - $(PATCH) < strmbase-Lock_Race_Conditions/0001-strmbase-Fix-race-condition-on-InputPin_BeginFlush-b.patch - $(PATCH) < strmbase-Lock_Race_Conditions/0002-strmbase-Fix-race-condition-on-InputPin_EndFlush-bet.patch - $(PATCH) < strmbase-Lock_Race_Conditions/0003-strmbase-Fix-race-condition-on-InputPin_EndOfStream-.patch - $(PATCH) < strmbase-Lock_Race_Conditions/0004-quartz-Fix-race-condition-on-EndOfStream-between-csR.patch - $(PATCH) < strmbase-Lock_Race_Conditions/0005-quartz-Fix-race-condition-on-EndFlush-between-csRend.patch - $(PATCH) < strmbase-Lock_Race_Conditions/0006-quartz-Fix-race-condition-between-EndOfStream-and-Pa.patch - @( \ - echo '+ { "strmbase-Lock_Race_Conditions", "Erich E. Hoover", "Fix possible race conditions in strmbase/quartz." },'; \ - ) > strmbase-Lock_Race_Conditions.ok - # Patchset user32-GetSystemMetrics # | # | Included patches: diff --git a/patches/strmbase-Lock_Race_Conditions/0001-strmbase-Fix-race-condition-on-InputPin_BeginFlush-b.patch b/patches/strmbase-Lock_Race_Conditions/0001-strmbase-Fix-race-condition-on-InputPin_BeginFlush-b.patch deleted file mode 100644 index 45625eb2..00000000 --- a/patches/strmbase-Lock_Race_Conditions/0001-strmbase-Fix-race-condition-on-InputPin_BeginFlush-b.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b089b250846590430d7908f2cff86ba40f40a696 Mon Sep 17 00:00:00 2001 -From: "Erich E. Hoover" -Date: Thu, 17 Jul 2014 10:28:42 -0600 -Subject: strmbase: Fix race condition on InputPin_BeginFlush between - csRenderLock and filter.csFilter. - ---- - dlls/strmbase/renderer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c -index bb91236..fb0902e 100644 ---- a/dlls/strmbase/renderer.c -+++ b/dlls/strmbase/renderer.c -@@ -130,8 +130,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_BeginFlush(IPin * iface) - - TRACE("(%p/%p)->()\n", This, iface); - -- EnterCriticalSection(&pFilter->filter.csFilter); - EnterCriticalSection(&pFilter->csRenderLock); -+ EnterCriticalSection(&pFilter->filter.csFilter); - EnterCriticalSection(This->pin.pCritSec); - hr = BaseInputPinImpl_BeginFlush(iface); - if (SUCCEEDED(hr)) --- -1.7.9.5 - diff --git a/patches/strmbase-Lock_Race_Conditions/0002-strmbase-Fix-race-condition-on-InputPin_EndFlush-bet.patch b/patches/strmbase-Lock_Race_Conditions/0002-strmbase-Fix-race-condition-on-InputPin_EndFlush-bet.patch deleted file mode 100644 index f7d8e9e8..00000000 --- a/patches/strmbase-Lock_Race_Conditions/0002-strmbase-Fix-race-condition-on-InputPin_EndFlush-bet.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 9941d6cd8ac96f5f90d3a93257acb9bee8181ba6 Mon Sep 17 00:00:00 2001 -From: "Erich E. Hoover" -Date: Thu, 17 Jul 2014 10:35:43 -0600 -Subject: strmbase: Fix race condition on InputPin_EndFlush between - csRenderLock and filter.csFilter. - ---- - dlls/strmbase/renderer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c -index fb0902e..d175fa5 100644 ---- a/dlls/strmbase/renderer.c -+++ b/dlls/strmbase/renderer.c -@@ -155,8 +155,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndFlush(IPin * iface) - - TRACE("(%p/%p)->()\n", This, pFilter); - -- EnterCriticalSection(&pFilter->filter.csFilter); - EnterCriticalSection(&pFilter->csRenderLock); -+ EnterCriticalSection(&pFilter->filter.csFilter); - EnterCriticalSection(This->pin.pCritSec); - hr = BaseInputPinImpl_EndFlush(iface); - if (SUCCEEDED(hr)) -@@ -167,8 +167,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndFlush(IPin * iface) - hr = BaseRendererImpl_EndFlush(pFilter); - } - LeaveCriticalSection(This->pin.pCritSec); -- LeaveCriticalSection(&pFilter->csRenderLock); - LeaveCriticalSection(&pFilter->filter.csFilter); -+ LeaveCriticalSection(&pFilter->csRenderLock); - return hr; - } - --- -1.7.9.5 - diff --git a/patches/strmbase-Lock_Race_Conditions/0003-strmbase-Fix-race-condition-on-InputPin_EndOfStream-.patch b/patches/strmbase-Lock_Race_Conditions/0003-strmbase-Fix-race-condition-on-InputPin_EndOfStream-.patch deleted file mode 100644 index f221710f..00000000 --- a/patches/strmbase-Lock_Race_Conditions/0003-strmbase-Fix-race-condition-on-InputPin_EndOfStream-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 88b8e012138b2fc81718cde5f4e4f50cc6b4ed6b Mon Sep 17 00:00:00 2001 -From: "Erich E. Hoover" -Date: Thu, 17 Jul 2014 10:37:37 -0600 -Subject: strmbase: Fix race condition on InputPin_EndOfStream between - csRenderLock and filter.csFilter. - ---- - dlls/strmbase/renderer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c -index d175fa5..c8f130c 100644 ---- a/dlls/strmbase/renderer.c -+++ b/dlls/strmbase/renderer.c -@@ -105,8 +105,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndOfStream(IPin * iface) - - TRACE("(%p/%p)->()\n", This, pFilter); - -- EnterCriticalSection(&pFilter->filter.csFilter); - EnterCriticalSection(&pFilter->csRenderLock); -+ EnterCriticalSection(&pFilter->filter.csFilter); - hr = BaseInputPinImpl_EndOfStream(iface); - EnterCriticalSection(This->pin.pCritSec); - if (SUCCEEDED(hr)) -@@ -117,8 +117,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndOfStream(IPin * iface) - hr = BaseRendererImpl_EndOfStream(pFilter); - } - LeaveCriticalSection(This->pin.pCritSec); -- LeaveCriticalSection(&pFilter->csRenderLock); - LeaveCriticalSection(&pFilter->filter.csFilter); -+ LeaveCriticalSection(&pFilter->csRenderLock); - return hr; - } - --- -1.7.9.5 - diff --git a/patches/strmbase-Lock_Race_Conditions/0004-quartz-Fix-race-condition-on-EndOfStream-between-csR.patch b/patches/strmbase-Lock_Race_Conditions/0004-quartz-Fix-race-condition-on-EndOfStream-between-csR.patch deleted file mode 100644 index c083732b..00000000 --- a/patches/strmbase-Lock_Race_Conditions/0004-quartz-Fix-race-condition-on-EndOfStream-between-csR.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a67e8965650e75947a899cec4540d428e2cd1236 Mon Sep 17 00:00:00 2001 -From: "Erich E. Hoover" -Date: Thu, 17 Jul 2014 10:30:19 -0600 -Subject: quartz: Fix race condition on EndOfStream between csRenderLock and - filter.csFilter. - ---- - dlls/quartz/dsoundrender.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c -index 57e3d3b..8c67374 100644 ---- a/dlls/quartz/dsoundrender.c -+++ b/dlls/quartz/dsoundrender.c -@@ -254,8 +254,8 @@ static HRESULT DSoundRender_HandleEndOfStream(DSoundRenderImpl *This) - LeaveCriticalSection(&This->renderer.filter.csFilter); - LeaveCriticalSection(&This->renderer.csRenderLock); - WaitForSingleObject(This->blocked, 10); -- EnterCriticalSection(&This->renderer.filter.csFilter); - EnterCriticalSection(&This->renderer.csRenderLock); -+ EnterCriticalSection(&This->renderer.filter.csFilter); - This->in_loop = 0; - } - --- -1.7.9.5 - diff --git a/patches/strmbase-Lock_Race_Conditions/0005-quartz-Fix-race-condition-on-EndFlush-between-csRend.patch b/patches/strmbase-Lock_Race_Conditions/0005-quartz-Fix-race-condition-on-EndFlush-between-csRend.patch deleted file mode 100644 index 4d19efb3..00000000 --- a/patches/strmbase-Lock_Race_Conditions/0005-quartz-Fix-race-condition-on-EndFlush-between-csRend.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9315e5c91356306f823cbcde26ed1a4e176fed90 Mon Sep 17 00:00:00 2001 -From: "Erich E. Hoover" -Date: Thu, 17 Jul 2014 10:31:17 -0600 -Subject: quartz: Fix race condition on EndFlush between csRenderLock and - filter.csFilter. - ---- - dlls/quartz/videorenderer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c -index 4e8f359..571a19d 100644 ---- a/dlls/quartz/videorenderer.c -+++ b/dlls/quartz/videorenderer.c -@@ -374,11 +374,11 @@ static HRESULT WINAPI VideoRenderer_EndFlush(BaseRenderer* iface) - if (This->renderer.pMediaSample) { - ResetEvent(This->hEvent); - LeaveCriticalSection(iface->pInputPin->pin.pCritSec); -- LeaveCriticalSection(&iface->csRenderLock); - LeaveCriticalSection(&iface->filter.csFilter); -+ LeaveCriticalSection(&iface->csRenderLock); - WaitForSingleObject(This->hEvent, INFINITE); -- EnterCriticalSection(&iface->filter.csFilter); - EnterCriticalSection(&iface->csRenderLock); -+ EnterCriticalSection(&iface->filter.csFilter); - EnterCriticalSection(iface->pInputPin->pin.pCritSec); - } - if (This->renderer.filter.state == State_Paused) { --- -1.7.9.5 - diff --git a/patches/strmbase-Lock_Race_Conditions/0006-quartz-Fix-race-condition-between-EndOfStream-and-Pa.patch b/patches/strmbase-Lock_Race_Conditions/0006-quartz-Fix-race-condition-between-EndOfStream-and-Pa.patch deleted file mode 100644 index 2171c2b4..00000000 --- a/patches/strmbase-Lock_Race_Conditions/0006-quartz-Fix-race-condition-between-EndOfStream-and-Pa.patch +++ /dev/null @@ -1,25 +0,0 @@ -From abaf77994534eaa61cdb2e6dad10de2d5ff7f50f Mon Sep 17 00:00:00 2001 -From: "Erich E. Hoover" -Date: Fri, 18 Jul 2014 10:57:13 -0600 -Subject: quartz: Fix race condition between EndOfStream and Pause. - ---- - dlls/quartz/dsoundrender.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c -index 8c67374..2914b15 100644 ---- a/dlls/quartz/dsoundrender.c -+++ b/dlls/quartz/dsoundrender.c -@@ -243,7 +243,7 @@ end: - - static HRESULT DSoundRender_HandleEndOfStream(DSoundRenderImpl *This) - { -- while (1) -+ while (This->renderer.filter.state == State_Running) - { - DWORD pos1, pos2; - DSoundRender_UpdatePositions(This, &pos1, &pos2); --- -1.7.9.5 - diff --git a/patches/strmbase-Lock_Race_Conditions/definition b/patches/strmbase-Lock_Race_Conditions/definition deleted file mode 100644 index 5c31bbc9..00000000 --- a/patches/strmbase-Lock_Race_Conditions/definition +++ /dev/null @@ -1,4 +0,0 @@ -Author: Erich E. Hoover -Subject: Fix possible race conditions in strmbase/quartz. -Revision: 1 -Fixes: [31566] Fix race conditions and deadlocks in strmbase/quartz