pgsql: Fix crash in autoprewarm.
От | Nathan Bossart |
---|---|
Тема | pgsql: Fix crash in autoprewarm. |
Дата | |
Msg-id | E1rSNHi-002mSC-Q9@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix crash in autoprewarm. Commit abb0b4fc03 moved the shared state for autoprewarm to a dynamic shared memory (DSM) segment, but it left apw_detach_shmem() in the on_shmem_exit callback list for the autoprewarm leader process. This is a problem because shmem_exit() detaches all the DSM segments prior to calling the on_shmem_exit callbacks, thus producing segfaults in the exit path for the autoprewarm leader process. To fix, move apw_detach_shmem() to the before_shmem_exit callback list. This commit also adds a check to pg_prewarm's test that the server shut down normally. It might be worth making this a common check for all shutdowns in TAP tests, but that is left as a future exercise. Reported-by: Andres Freund Reviewed-by: Andres Freund, Álvaro Herrera Discussion: https://postgr.es/m/20240122204117.swton324xcoodnyi%40awork3.anarazel.de Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/bcd5b4bcbefc8b99be3678cf9c6c990a0c28f68e Modified Files -------------- contrib/pg_prewarm/autoprewarm.c | 10 ++++++++-- contrib/pg_prewarm/t/001_basic.pl | 6 ++++++ 2 files changed, 14 insertions(+), 2 deletions(-)
В списке pgsql-committers по дате отправления: