The launcher_running flag was reset to false during shutdown, which left a small window where a new launcher could be started when the exit handler was still running. Fix by only updating the running flag in shared memory in the exit handler if our local copy is true. Also reset the aborted state if the launch_operation changes during shutdown to allow scenarios like "start -> abort -> start" to work even if they reach the second start before the abort is fully done. Issues found by Noah and Robert using AI assisted review with Claude. Backpatch to v19 where the online checksums feature was introduced. Reported-by: Noah Misch <noah@leadboat.com> Reported-by: Robert Haas <robertmhaas@gmail.com> Discussion: https://postgr.es/m/E15AC050-C4B5-488D-BB2D-3C7AC9F89EA8@yesql.se Backpatch-through: 19
PostgreSQL Database Management System
This directory contains the source code distribution of the PostgreSQL database management system.
PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions. This distribution also contains C language bindings.
Copyright and license information can be found in the file COPYRIGHT.
General documentation about this version of PostgreSQL can be found at https://www.postgresql.org/docs/devel/. In particular, information about building PostgreSQL from the source code can be found at https://www.postgresql.org/docs/devel/installation.html.
The latest version of this software, and related software, may be obtained at https://www.postgresql.org/download/. For more information look at our web site located at https://www.postgresql.org/.