Simon Riggs wrote: >> Few comments: >> >> * smart shutdown waits for sessions to complete, yet this just ignores >> smart shutdowns which is something a little different. I think we >> should wait for the backup to complete and then shutdown.
That would be more consistent, I agree. I'll undo my changes to pg_ctl as well, as they make no more sense then. >> * The #defines at top of postmaster.c are duplicated from xlog.c >> If we can't agree on a common header file then we should at least add a >> comment to mention they are duplicated (in both locations). > > If we add a function called something like BackupInProgress() > to xlog.c, > exported via miscadmin.h then we can use it within the > PostmasterStateMachine() function like this > > if (pmState == PM_WAIT_BACKENDS) > { > if (CountChildren() == 0 && > StartupPID == 0 && > (BgWriterPID == 0 || !FatalError) && > WalWriterPID == 0 && > AutoVacPID == 0 && > !BackupInProgress()) <---- new line > > so that the postmaster doesn't need to know about how we do backups. > > That way you don't need any of the special cases in your patch, nor is > there any need to duplicate the #defines. I realized that duplicating the #defines was ugly, and will do it like that. Thanks for the hints. Yours, Laurenz Albe -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches