On Wed, Apr 17, 2019 at 10:45 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > I think what we need to look for is reasons why (1) the postmaster > never sends SIGUSR2 to the checkpointer, or (2) the checkpointer's > main loop doesn't get to noticing shutdown_requested. > > A rather scary point for (2) is that said main loop seems to be > assuming that MyLatch a/k/a MyProc->procLatch is not used for any > other purposes in the checkpointer process. If there were something, > like say a condition variable wait, that would reset MyLatch at any > time during a checkpoint, then we could very easily go to sleep at the > bottom of the loop and not notice that there's a pending shutdown request.
Agreed on the non-composability of that coding, but if there actually is anything in that loop that can reach ResetLatch(), it's well hidden... -- Thomas Munro https://enterprisedb.com