Skip to content

Commit 7d11f36

Browse files
committed
aio: Fix configuration reload in IO workers.
method_worker.c installed SignalHandlerForConfigReload, but it failed to actually process reload requests. That hasn't yet produced any concrete problem reports in terms of GUC changes it should have cared about in v18, but it was inconsistent. It did cause problems for a couple of patches in development that need IO workers to react to ALTER SYSTEM + pg_reload_conf(). Fix extracted from one of those patches. Back-patch to 18. Reported-by: Dmitry Dolgov <9erthalion6@gmail.com> Discussion: https://postgr.es/m/sh5uqe4a4aqo5zkkpfy5fobe2rg2zzouctdjz7kou4t74c66ql%40yzpkxb7pgoxf
1 parent b4c19da commit 7d11f36

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/backend/storage/aio/method_worker.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,12 @@ IoWorkerMain(const void *startup_data, size_t startup_data_len)
575575
}
576576

577577
CHECK_FOR_INTERRUPTS();
578+
579+
if (ConfigReloadPending)
580+
{
581+
ConfigReloadPending = false;
582+
ProcessConfigFile(PGC_SIGHUP);
583+
}
578584
}
579585

580586
error_context_stack = errcallback.previous;

0 commit comments

Comments
 (0)