Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > We have this open item:
> >     Win32
> >         o Handle "lost signals" on backend startup (eg. shutdown,
> >           config file changes, etc);  signals are SIG_DFL on startup
> 
> >           The problem here is that the postmaster might send signals to a
> >           child before the signal handlers are installed.  We don't have
> >           this problem on unix because we fork and inherit the signal
> >           handlers.
> 
> FWIW, I think the todo's description of the problem is completely
> inaccurate.  The issue is not the lack of signal handler settings per

OK, updated:

        o Handle "lost signals" on backend startup (eg. shutdown,
          config file changes, etc);  signals are not possible on
          startup

          The problem here is that the postmaster might send signals to a
          child before the Win32 pipe is created to accept signals.
          We don't have this problem on unix because we fork and inherit
          the signal handlers.

> se, it is that our pipe-based emulation of signals isn't ready to
> collect signal messages until some time after the child process starts.
> 
> Could this be fixed by having the postmaster set up the pipe *before* it
> forks/execs the child?  We'd probably need to pass down some additional
> info to inform the child where it has to hook into the pipe structure,
> but passing down more state is no problem.

Not sure.  Magnus?

> > The only solution I can think of for us is to set a PROC struct variable
> > when you can't send the Win32 backend a signal and have the backend
> > check this PROC variable after it starts listening for signals. 
> 
> A backend does not create its PROC entry until *long* after it gets
> forked, so this does not sound like a path to a solution.  Also, I'd
> prefer to be able to signal non-backend children such as pgstat.  (I'm
> not sure if the current code actually needs that, but I can definitely
> believe that we'll need to do it some day.)  Also, we do need to be able
> to signal the postmaster from backends, so we cannot tie the signal
> mechanism to the assumption that every signalable process has or will
> eventually have a PROC entry.

OK.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to