[mythtv-commits] mythtv branch fixes/0.25 updated by stuartm. v0.25.1-48-g5eb9779

Git Repo Owner noreply at mythtv.org
Fri Jun 29 12:32:06 UTC 2012


The branch, fixes/0.25 has been updated on the
mythtv repository by gitolite user stuartm.
       via  5eb97790f3c36f9d2524275e545189cafda9d48a (commit)
      from  5b843c1287e546a7d49f59b3ae911c17279c43f5 (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 5eb97790f3c36f9d2524275e545189cafda9d48a
Author:    Stuart Morgan <smorgan at mythtv.org> at Fri, 29 Jun 2012 13:28:45 +0100
Committer: Stuart Morgan <smorgan at mythtv.org> at Fri, 29 Jun 2012 13:28:45 +0100
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=5eb97790f3c36f9d2524275e545189cafda9d48a

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

Backported from master 788bc510ede427e43e77e8aaf53d8cf047d89b46



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

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