Skip to content
Snippets Groups Projects
Commit 3049fe7c authored by Tom Lane's avatar Tom Lane
Browse files

Make the bgwriter's error recovery path do smgrcloseall(). On Windows this

should allow delete-pending files to actually go away, and thereby work
around the various complaints we've seen about 'permission denied'
errors in such cases.  Should be reasonably harmless in any case...
parent b02414bb
No related branches found
No related tags found
No related merge requests found
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.32 2006/11/30 18:29:12 tgl Exp $ * $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.33 2006/12/01 19:55:28 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -304,6 +304,13 @@ BackgroundWriterMain(void) ...@@ -304,6 +304,13 @@ BackgroundWriterMain(void)
* fast as we can. * fast as we can.
*/ */
pg_usleep(1000000L); pg_usleep(1000000L);
/*
* Close all open files after any error. This is helpful on Windows,
* where holding deleted files open causes various strange errors.
* It's not clear we need it elsewhere, but shouldn't hurt.
*/
smgrcloseall();
} }
/* We can now handle ereport(ERROR) */ /* We can now handle ereport(ERROR) */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment