postgresql/src
Tom Lane 81b052c317 On Windows, wait a little to see if ERROR_ACCESS_DENIED goes away.
Attempting to open a file fails with ERROR_ACCESS_DENIED if the file
is flagged for deletion but not yet actually gone (another in a long
list of reasons why Windows is broken, if you ask me).  This seems
likely to explain a lot of irreproducible failures we see in the
buildfarm.  This state generally persists for only a millisecond or so,
so just wait a bit and retry.  If it's a real permissions problem,
we'll eventually give up and report it as such.  If it's the pending
deletion case, we'll see file-not-found and report that after the
deletion completes, and the caller will treat that in an appropriate
way.

In passing, rejigger the existing retry logic for some other error
cases so that we don't uselessly wait an extra time when we're
not going to retry anymore.

Alexander Lakhin (with cosmetic tweaks by me).  Back-patch to all
supported branches, since this seems like a pretty safe change and
the problem is definitely real.

Discussion: https://postgr.es/m/16161-7a985d2f1bbe8f71@postgresql.org
2019-12-16 15:10:55 -05:00
..
backend Fix EXTRACT(ISOYEAR FROM timestamp) for years BC. 2019-12-12 12:30:44 -05:00
bin Handle arrays and ranges in pg_upgrade's test for non-upgradable types. 2019-11-13 11:35:37 -05:00
common Tolerate EINVAL when calling fsync() on a directory. 2019-02-24 23:52:20 +13:00
fe_utils Fix translation of special characters in psql's LaTeX output modes. 2018-11-26 17:32:51 -05:00
include Fix misbehavior with expression indexes on ON COMMIT DELETE ROWS tables. 2019-12-01 13:09:27 -05:00
interfaces Fix off-by-one error in PGTYPEStimestamp_fmt_asc 2019-11-30 15:07:47 +01:00
makefiles Select CFLAGS_SL at configure time, not in platform-specific Makefiles. 2019-10-21 12:32:36 -04:00
pl Translation updates 2019-11-11 10:33:28 +01:00
port On Windows, wait a little to see if ERROR_ACCESS_DENIED goes away. 2019-12-16 15:10:55 -05:00
template Select CFLAGS_SL at configure time, not in platform-specific Makefiles. 2019-10-21 12:32:36 -04:00
test Fix EXTRACT(ISOYEAR FROM timestamp) for years BC. 2019-12-12 12:30:44 -05:00
timezone Update time zone data files to tzdata release 2019c. 2019-09-20 19:54:07 -04:00
tools Handle spaces in OpenSSL install location for MSVC 2019-10-04 15:39:12 -04:00
tutorial Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Build src/test/isolation during "make" and "make install". 2017-11-22 20:18:52 -08:00
Makefile.global.in Select CFLAGS_SL at configure time, not in platform-specific Makefiles. 2019-10-21 12:32:36 -04:00
Makefile.shlib Ensure static libraries have correct mod time even if ranlib messes it up. 2018-11-29 15:53:44 -05:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00