[mythtv-commits] mythtv branch fixes/0.25 updated by stuartm. v0.25.1-56-g11d7795

Git Repo Owner noreply at mythtv.org
Wed Jul 4 19:03:58 UTC 2012


The branch, fixes/0.25 has been updated on the
mythtv repository by gitolite user stuartm.
       via  11d7795503b869aeb09b66d55f0430fcf504f924 (commit)
      from  48ac7cfb51e82c3ddbaab489810b560fb8271531 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 11d7795503b869aeb09b66d55f0430fcf504f924
Author:    Stuart Morgan <smorgan at mythtv.org> at Wed, 4 Jul 2012 20:03:11 +0100
Committer: Stuart Morgan <smorgan at mythtv.org> at Wed, 4 Jul 2012 20:03:11 +0100
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=11d7795503b869aeb09b66d55f0430fcf504f924

Protect the reschedule queue with a seperate lock to fix a backend deadlock.
 Fixes a deadlock in mythbackend caused when a reschedule request occurs
 immedately prior to a recording starting.

 The recorder thread locks the scheduler when starting a recording. The pending
 reschedule request handled in the event loop waits for the scheduler lock to be
 released blocking the event loop. The backend is now stopped from handling any
 further events or protocol requests, meanwhile the recorder is waiting on
 events to be processed before it will release the lock resulting in an
 irrecoverable deadlock (or hang) and the failure of the recording.

 This deadlock was more likely to be triggered for users of EIT because it will
 ask for a reschedule every 5 minutes in addition to any reschedules triggered
 through other means.

 Refs #10771



-----------------------------------------------------------------------

Summary of changes:
 mythtv/programs/mythbackend/scheduler.cpp |   43 +++++++++++++++++++++++-----
 mythtv/programs/mythbackend/scheduler.h   |    6 ++++
 2 files changed, 41 insertions(+), 8 deletions(-)

-- 



More information about the mythtv-commits mailing list