xbmc: add upstream patch

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-03-29 08:04:19 +01:00
parent 863f66efa7
commit 62c1750ad4

View File

@ -0,0 +1,36 @@
From 74ec17d424c0727cb474186957cd564a7e47c176 Mon Sep 17 00:00:00 2001
From: Jonathan Marshall <jmarshall@xbmc.org>
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