Hello!
I only have a few stylistic comments and one question about the wal
sender part - but maybe I don't understand something there.
+ /*
+ * Only signal regular backends and walsenders. Skip
+ * auxiliary processes and dead-end backends.
+ */
+ if (bp->bkend_type == B_BACKEND ||
+ bp->bkend_type == B_WAL_SENDER)
+ {
+ SendProcSignal(bp->pid, PROCSIG_SMART_SHUTDOWN,
+ INVALID_PROC_NUMBER);
I don't see related changes in walsenders, am I missing something,
shouldn't this have some handling in WalSndLoop? Also, shouldn't
walsenders exit later, after normal backends have already stopped? So
I'm not sure how this is supposed to improve them.
+ /*
+ * Parse any available data to see if a GoAway message has arrived.
+ */
+ pqParseInput3(conn);
This is just stylistic, but other places seem to call parseInput instead.
There are also two typos/mistakes in the documentation:
* "rquest"
* "server requests the server"