[mythtv-commits] Ticket #10970: Mythbackend failed recordings, deadlocks
MythTV
noreply at mythtv.org
Fri Aug 3 20:55:53 UTC 2012
#10970: Mythbackend failed recordings, deadlocks
-----------------------------------------+--------------------------------
Reporter: Peter Townsend <elpinkus@…> | Owner:
Type: Bug Report - General | Status: infoneeded_new
Priority: minor | Milestone: unknown
Component: MythTV - General | Version: Master Head
Severity: medium | Resolution:
Keywords: | Ticket locked: 0
-----------------------------------------+--------------------------------
Comment (by danielk):
As far as I can tell this shouldn't be happening.
StreamHandler::Start() seems to be waiting for the thread to start. It's
waiting for either _running or _error to be set. I don't see any way that
DVBStreamHandler::run() can exit without setting either of those. It also
seems like DVBStreamHandler::RunTS() is running a piece of code that would
only be run after setting _running to true, however that could be in
service of another stream. It is possible that MTHread::start() has called
QThread::start(), but the thread was never started because we ran out of
memory or we exceeded our process allocation. However, that shouldn't
occur with any normally configured Linux system. Finally, while _running
is not declared as volatile, the while loop that checks it calls a
function outside the current translation unit so gcc should not optimise
the check away since it can't know that _running isn't set by that call.
--
Ticket URL: <http://code.mythtv.org/trac/ticket/10970#comment:3>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
More information about the mythtv-commits
mailing list