[mythtv] Active EIT scanner and idle shutdown of backend
roger at beardandsandals.co.uk
Sat Feb 2 13:32:07 UTC 2013
A couple of years I disabled all active EIT scanning as that was the
only way I could get my backend to to idle shutdown. This was even after
the fix for ticket #3597 was applied.
I recently turned it back on again to see if things had changed in
fixes-0.26. They have not. I still cannot get my backend to shut down.
The sequence of events is as follows.
1. The eit scanner finds some events. These can be for any program new
or old whether or not there is a recording schedule for it. This means
that here in UK DVB-T land the scanner will pretty much continually find
new events. The scanner will then at least every 60 seconds queue a
scheduler MATCH 0 0 0 request.
2. The scheduler will find a MATCH request in its queue and because
HandleRequest will always return true for a match request it will set
statuschanged to true.
3. When the scheduler calls HandleIdleShutdown the fact that
statuschanged is true will cause the shutdown timer to be reset!
I cannot see how the patch in #3297 can ever have worked if the scanner
continues to find events even though those events may be irrelevant to
any recording schedules.
Please can anyone confirm this!
I can see two possible ways to fix this.
1. Stop the scanner requesting a reschedule if none of the events in its
queue relate to active recordings schedules. I do not think this is the
best way to go about it as mixes a lot of scheduling functionality into
2. Change the scheduler logic to only return statuschanged if recording
schedules have actually been changed.
P.S. Slightly off topic.
Can anyone explain to me the logic in the scanner regarding tableids. I
can almost understand preferring 4E before 4F before anything in the 50s
and 60s. But I cannot see anything in the spec about ordering of the 50s
and 60s. I wonder if this causes us to queue unnecessary eit events?
More information about the mythtv-dev