Avoid leaving DataChecksumState->worker_pid to an old value It might be left to an old value if the launcher was terminated while a worker was running. launcher_exit() sends SIGTERM to the worker, but did not clear 'worker_pid'. Clear it, to be tidy.
Also clear it in ProcessDatabase() before starting a new datachecksums worker, to be sure we start from a clean slate. The codepath where WaitForBackgroundWorkerStartup() returns BGWH_STOPPED but worker_result != DATACHECKSUMSWORKER_SUCCESSFUL didn't clear it, while all other codepaths did clear or set it. Reviewed-by: Daniel Gustafsson <[email protected]> Discussion: https://www.postgresql.org/message-id/[email protected] Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/c008b7ea10a5037bf9c6573283b97f4ba56d65c0 Modified Files -------------- src/backend/postmaster/datachecksum_state.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
