Commit afb66ad8 authored by Tom Lane's avatar Tom Lane

Need to release buffer pins before attempting to drop files during

backend exit.  Per report from Bruce.
parent 7a969cad
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.141 2005/02/26 18:43:33 tgl Exp $ * $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.142 2005/03/18 05:24:13 tgl Exp $
* *
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
...@@ -507,13 +507,14 @@ ShutdownPostgres(int code, Datum arg) ...@@ -507,13 +507,14 @@ ShutdownPostgres(int code, Datum arg)
* since that just raises the odds of failure --- but there's some * since that just raises the odds of failure --- but there's some
* stuff we need to do. * stuff we need to do.
* *
* Release any LW locks and buffer context locks we might be holding. * Release any LW locks, buffer content locks, and buffer pins we might be
* This is a kluge to improve the odds that we won't get into a * holding. This is a kluge to improve the odds that we won't get into a
* self-made stuck-lock scenario while trying to shut down. * self-made stuck-lock scenario while trying to shut down. We *must*
* release buffer pins to make it safe to do file deletion, since we
* might have some pins on pages of the target files.
*/ */
LWLockReleaseAll(); LWLockReleaseAll();
AbortBufferIO(); AtProcExit_Buffers();
UnlockBuffers();
/* /*
* In case a transaction is open, delete any files it created. This * In case a transaction is open, delete any files it created. This
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment