[mythtv] Ticket #7762: Autoshutdown slave feature enhanced

David Engel david at istwok.net
Wed Feb 10 19:15:50 UTC 2010


On Wed, Feb 10, 2010 at 03:40:19PM -0000, MythTV wrote:
> Comment(by cpinkham):
> 
>  Thanks for the feature enhancement, but there are a few things that I
>  think need to be corrected before this patch can be accepted.  Here are
>  the issues I noticed:
> 
>  1) You can't instantiate a Scheduler anywhere but the master.   Just
>  calling DisableScheduling() still lets the main parts of the scheduler run
>  but it doesn't fire off any recordings.  The
>  Scheduler code is not guaranteed to be 'multi-backend-safe', meaning that
>  it potentially could
>  do things to the database that should only be done from the master
>  Scheduler.  I don't think
>  there is any code like this currently, but it's not something we want to
>  deal with in the
>  future.  Even the "mythbackend --printsched" functionality opens a
>  connection to the master
>  scheduler and downloads the list of scheduled recordings.  If
>  Scheduler::CheckShutdownServer() is the only thing you need from the
>  scheduler, then you can make this method static and call it as
>  "bool status = Scheduler::CheckShutdownServer(0, idleSince,
>  blockShutdown);" in your code.

Chris, this isn't entirely true.  We have at least two cases where we
currently instantiate additional schedulers.  One is when the
--testsched option is used with mythbackend.  Another is the preview
schedule changes feature.  That being said, instantiating a scheduler
should be generally avoided for the reasons you gave.

David
-- 
David Engel
david at istwok.net


More information about the mythtv-dev mailing list