Win32 lost signals open item - Mailing list pgsql-hackers

From Bruce Momjian
Subject Win32 lost signals open item
Date
Msg-id 200411010116.iA11Gcf07627@candle.pha.pa.us
Whole thread Raw
Responses Re: [pgsql-hackers-win32] Win32 lost signals open item  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
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.

Win32 uses a special socket to receive signals and does not use the
standard Unix signal mechanism.  However, the socket doesn't exist on
backend process start so there is possible loss of signal while the
backend starts.

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.
However, there would still be a window where the signal could fail but
the backend could check the variable before the postmaster sets it so we
might just set the variable before a signal is sent and because it is
only checked when we start listening for signals it should be OK.

However, I don't think the postmaster reads/writes PROC so we would need
some other way of flagging the backend.  I bet there is some Win32 API
that might help us.

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

pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Re: Suggestion: additional system views
Next
From: James William Pye
Date:
Subject: Re: Version defines