[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