pgsql: Make data checksums launcher cancel its worker at SIGINT

From: Daniel Gustafsson <dgustafsson(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make data checksums launcher cancel its worker at SIGINT
Date: 2026-08-17 20:47:30
Message-ID: E1ww4Ez-00000000xtE-1aIH@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make data checksums launcher cancel its worker at SIGINT

Make sure the launcher cancels the currently running worker by calling
TerminateBackgroundWorker when it receives SIGINT. In order to handle
cases where SIGINT arrives while tje launcher is waiting for a worker
to start or exit, implement a version of WaitForBackgroundWorkerStartup
and WaitForBackgroundWorkerShutdown which checks the abort_requested
signalling. A new test which kills processing with SIGINT is added.

Backpatch to v19 where online checksums were introduced.

Author: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Reviewed-by: Daniel Gustafsson <daniel(at)yesql(dot)se>
Discussion: https://postgr.es/m/CAHGQGwEQ1-+iPQnUpTXYiHmzSz9ufFVkOK4kL_uyTdYt7jgg0Q@mail.gmail.com
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/3a18526e8d6bcdd25db847128dd83bb4c1ba6ec2

Modified Files
--------------
src/backend/postmaster/datachecksum_state.c | 112 +++++++++++++++++++---
src/test/modules/test_checksums/t/002_restarts.pl | 42 ++++++++
2 files changed, 143 insertions(+), 11 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Geoghegan 2026-08-17 21:31:27 pgsql: GiST: Deprecate F_TUPLES_DELETED opaque area flag.
Previous Message Daniel Gustafsson 2026-08-17 20:47:05 pgsql: Make data checksums launcher cancel its worker at SIGINT