[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