Hi,
I've been rebasing the patch for online resizing of shared memory, and
noticed something strange about IoWorkerMain: although it sets the
handler SignalHandlerForConfigReload, it doesn't look like it acts upon
ConfigReloadPending. From what I see it happens because it only does
CHECK_FOR_INTERRUPTS in the main worker loop, which doesn't handle
ConfigReloadPending.
In the context of shared memory resizing patch it means I/O workers are
not receiving the new value of NBuffers and crash. Adding something like
pgaio_worker_process_interrupts to deal with ConfigReloadPending at the
beginning of the main worker loop seems to solve the issue. But I
haven't found any discussion about config reload in I/O workers, was
this omission intentional?