[mythtv-commits] Ticket #13571: Crash of backend on delete of program being recorded

MythTV noreply at mythtv.org
Sun Apr 5 08:54:51 UTC 2020


#13571: Crash of backend on delete of program being recorded
--------------------------------+-------------------------------
 Reporter:  Klaas de Waal       |          Owner:  Klaas de Waal
     Type:  Bug Report - Crash  |         Status:  assigned
 Priority:  minor               |      Milestone:  32.0
Component:  MythTV - General    |        Version:  Master Head
 Severity:  medium              |     Resolution:
 Keywords:                      |  Ticket locked:  0
--------------------------------+-------------------------------

Comment (by Klaas de Waal):

 The code is inside the following lock:

 {{{
     TVRec::s_inputsLock.lockForRead();
     ...
     TVRec::s_inputsLock.unlock();

 }}}
 The m_encoderList (tvList) contains values for all entries in the
 capturecard table that are connected to a videosource. The m_encoderList
 is only extended when a new virtual tuner is added and in that code the
 lockForWrite is used. That is not happening here, the number of elements
 in the QMap is constant.

 With the lockForRead it is possible to have multiple readers so the QMap
 can be traversed by different threads simultaneously. My understanding of
 the QMap is that this is allowed, QMap being documented as re-entrant.

-- 
Ticket URL: <https://code.mythtv.org/trac/ticket/13571#comment:13>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list