Remove some obsolete smgrcloseall() calls.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 31 Jan 2024 09:40:29 +0000 (11:40 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 31 Jan 2024 09:40:29 +0000 (11:40 +0200)
commit6a8ffe812d194ba6f4f26791b6388a4837d17d6c
treea216d01a84bfcf26e56042c6eebaa958afed0bfe
parent0fda3921380798897b6faca5e4fdcdc22f950f12
Remove some obsolete smgrcloseall() calls.

Before the advent of PROCSIGNAL_BARRIER_SMGRRELEASE, we didn't have a
comprehensive way to deal with Windows file handles that get in the way
of unlinking directories.  We had smgrcloseall() calls in a few places
to try to mitigate.

It's still a good idea for bgwriter and checkpointer to do that once per
checkpoint so they don't accumulate unbounded SMgrRelation objects, but
there is no longer any reason to close them at other random places such
as the error path, and the explanation as given in the comments is now
obsolete.

Author: Thomas Munro
Reviewed-by: Heikki Linnakangas, Robert Haas
Discussion: https://www.postgresql.org/message-id/CA%2BhUKGJ8NTvqLHz6dqbQnt2c8XCki4r2QvXjBQcXpVwxTY_pvA@mail.gmail.com
src/backend/postmaster/bgwriter.c
src/backend/postmaster/checkpointer.c
src/backend/postmaster/walwriter.c