
noreply at mythtv
Aug 3, 2012, 1:55 PM
Post #4 of 8
(135 views)
Permalink
|
|
Re: Ticket #10970: Mythbackend failed recordings, deadlocks
[In reply to]
|
|
#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 _______________________________________________ mythtv-commits mailing list mythtv-commits [at] mythtv http://www.mythtv.org/mailman/listinfo/mythtv-commits
|