[mythtv-commits] mythtv branch master updated by stuartm. v0.26-pre-674-g9f447f4

Git Repo Owner noreply at mythtv.org
Tue Jun 19 21:57:32 UTC 2012

The branch, master has been updated on the
mythtv repository by gitolite user stuartm.
       via  9f447f43a6159595a27370d5f0b7ca29390bb3e8 (commit)
       via  788bc510ede427e43e77e8aaf53d8cf047d89b46 (commit)
      from  230d8b9a5ee64cdeb6eda243987fd7a1070263b1 (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 9f447f43a6159595a27370d5f0b7ca29390bb3e8
Author:    Stuart Morgan <smorgan at mythtv.org> at Tue, 19 Jun 2012 20:37:59 +0100
Committer: Stuart Morgan <smorgan at mythtv.org> at Tue, 19 Jun 2012 22:17:35 +0100
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=9f447f43a6159595a27370d5f0b7ca29390bb3e8

Change the signature of TvPlayWindow::gestureEvent() to match the base class, the two diverged at some point.

commit 788bc510ede427e43e77e8aaf53d8cf047d89b46
Author:    Stuart Morgan <smorgan at mythtv.org> at Mon, 18 Jun 2012 17:45:20 +0100
Committer: Stuart Morgan <smorgan at mythtv.org> at Tue, 19 Jun 2012 22:17:34 +0100
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=788bc510ede427e43e77e8aaf53d8cf047d89b46

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/libs/libmythtv/tv_play_win.cpp     |    4 ++--
 mythtv/libs/libmythtv/tv_play_win.h       |    2 +-
 mythtv/programs/mythbackend/scheduler.cpp |   22 +++++++++++++---------
 mythtv/programs/mythbackend/scheduler.h   |   21 ++++++++++++++++-----
 4 files changed, 32 insertions(+), 17 deletions(-)


More information about the mythtv-commits mailing list