[mythtv-commits] Ticket #8526: Deadlock in backend code when slave backend disconnects

MythTV mythtv at cvs.mythtv.org
Wed Jun 2 19:43:45 UTC 2010


#8526: Deadlock in backend code when slave backend disconnects
-----------------------------------+----------------------------------------
 Reporter:  doug@…                 |       Owner:  ijr       
     Type:  defect                 |      Status:  new       
 Priority:  minor                  |   Milestone:  unknown   
Component:  MythTV - General       |     Version:  Trunk Head
 Severity:  medium                 |     Mlocked:  0         
-----------------------------------+----------------------------------------
 I encountered a deadlock in the master backend occuring sometimes when a
 slave backend disconnects. Since I am using the feature to make slave
 backends sleep when they are idle, I was encountering this frequently.

 What seems to happen is that code in scheduler.cpp is called from
 mainserver.cpp while the sockListLock is held. If the scheduler code then
 calls code in mainserver.cpp, a deadlock can occur.

 I have attached a patch which delays calls to the scheduler until after
 the lock has been freed in the MainServer::connectionClosed() function.

 So far, this is working for me, but I'm not sure if the code currently
 depends on side effects from the scheduler that are removed by delaying
 the calls.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/8526>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list