[mythtv] [mythtv-commits] Ticket #4816: SIGSEGV inSSDPCache(Autodiscovery) affecting all new installs

Nigel Pearson nigel at ind.tansu.com.au
Sun Mar 9 22:25:59 UTC 2008


> It is in SSDPCache::RemoveStale() the keys are added in the first  
> pass to
> lstKeys, an Unlock() is done, then the keys in lstKeys are Release() 
> d and
> m_cache.remove()d. Most of the Lock()/Release() calls there could also
> benefit from a simple QMutexLocker.

True, but in the meantime, just moving the Unlock() would suffice?

Index: libs/libmythupnp/ssdpcache.cpp
===================================================================
--- libs/libmythupnp/ssdpcache.cpp      (revision 16447)
+++ libs/libmythupnp/ssdpcache.cpp      (working copy)
@@ -164,8 +164,6 @@
          }
      }

-    Unlock();
-
      nCount = lstKeys.count();

      //  
----------------------------------------------------------------------
@@ -176,6 +174,8 @@
      for ( QStringList::Iterator it = lstKeys.begin(); it !=  
lstKeys.end(); ++it )
          Remove( *it );

+    Unlock();
+
      return nCount;
  }

--
Nigel Pearson, nigel at ind.tansu.com.au|"I thought I said no shivs."
Telstra Net. Eng., Sydney, Australia |   "This? This is just a
Office: 9202 3900    Fax:  9261 3912 | personal grooming appliance"
Mobile: 0408 664435  Home: 9792 6998 |    Riddick - Pitch Black


More information about the mythtv-dev mailing list