summaryrefslogtreecommitdiffstats
path: root/abs/core/mythtv/stable-0.25/mythtv/0001-protect-metadata-loads-from-multiple-threads.patch
blob: d8f4a0cb41478e7ea965c5883686126574199f18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
From b20171597097f8b933065ef3291c63194d310fbf Mon Sep 17 00:00:00 2001
From: George Nassas <george@nassas.com>
Date: Sun, 10 Jun 2012 13:36:42 -0400
Subject: [PATCH] protect metadata loads from multiple threads

---
 mythtv/libs/libmythmetadata/dbaccess.cpp |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/mythtv/libs/libmythmetadata/dbaccess.cpp b/mythtv/libs/libmythmetadata/dbaccess.cpp
index 67cd904..46adb7a 100644
--- a/mythtv/libs/libmythmetadata/dbaccess.cpp
+++ b/mythtv/libs/libmythmetadata/dbaccess.cpp
@@ -47,8 +47,11 @@ class SingleValueImp
 
     virtual ~SingleValueImp() {}
 
+    mutable QMutex mutex;
+
     void load_data()
     {
+        QMutexLocker locker(&mutex);
         if (!m_ready)
         {
             fill_from_db();
@@ -271,8 +274,11 @@ class MultiValueImp
                 .arg(m_value_name).arg(m_table_name).arg(m_id_name);
     }
 
+    mutable QMutex mutex;
+
     void load_data()
     {
+        QMutexLocker locker(&mutex);
         if (!m_ready)
         {
             fill_from_db();
@@ -730,8 +736,11 @@ class FileAssociationsImp
         }
     }
 
+    mutable QMutex mutex;
+
     void load_data()
     {
+        QMutexLocker locker(&mutex);
         if (!m_ready)
         {
             fill_from_db();
-- 
1.7.2.5