From 62c1750ad4dfb9fc879b5b973c3f1b04f7e1da1a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 29 Mar 2014 08:04:19 +0100 Subject: [PATCH] xbmc: add upstream patch Signed-off-by: Stephan Raue --- .../patches/xbmc-999.80.016-XB74ec17d.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 packages/mediacenter/xbmc/patches/xbmc-999.80.016-XB74ec17d.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-999.80.016-XB74ec17d.patch b/packages/mediacenter/xbmc/patches/xbmc-999.80.016-XB74ec17d.patch new file mode 100644 index 0000000000..2519e79d3e --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-999.80.016-XB74ec17d.patch @@ -0,0 +1,36 @@ +From 74ec17d424c0727cb474186957cd564a7e47c176 Mon Sep 17 00:00:00 2001 +From: Jonathan Marshall +Date: Sat, 29 Mar 2014 16:45:09 +1300 +Subject: [PATCH] [addons] ensure we exit the lock prior to calling + PrunePackageCache() as this takes ages, and will grab graphicscontext lock, + leading to deadlocks + +--- + xbmc/addons/AddonInstaller.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp +index e87d299..c100089 100644 +--- a/xbmc/addons/AddonInstaller.cpp ++++ b/xbmc/addons/AddonInstaller.cpp +@@ -80,15 +80,16 @@ void CAddonInstaller::OnJobComplete(unsigned int jobID, bool success, CJob* job) + { // repo job finished + m_repoUpdateDone.Set(); + m_repoUpdateJob = 0; ++ lock.Leave(); + } + else + { // download job + JobMap::iterator i = find_if(m_downloadJobs.begin(), m_downloadJobs.end(), bind2nd(find_map(), jobID)); + if (i != m_downloadJobs.end()) + m_downloadJobs.erase(i); ++ lock.Leave(); + PrunePackageCache(); + } +- lock.Leave(); + + CGUIMessage msg(GUI_MSG_NOTIFY_ALL, 0, 0, GUI_MSG_UPDATE); + g_windowManager.SendThreadMessage(msg); +-- +1.8.5.5 +