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
--- mythtv/libs/libmythmetadata/dbaccess.cpp
+++ 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

