postgresql/src/backend
Robert Haas 419113dfdc Retry DSM control segment creation if Windows indicates access denied.
Otherwise, attempts to run multiple postmasters running on the same
machine may fail, because Windows sometimes returns ERROR_ACCESS_DENIED
rather than ERROR_ALREADY_EXISTS when there is an existing segment.

Hitting this bug is much more likely because of another defect not
fixed by this patch, namely that dsm_postmaster_startup() uses
random() which returns the same value every time.  But that's not
a reason not to fix this.

Kyotaro Horiguchi and Amit Kapila, reviewed by Michael Paquier

Discussion: <CAA4eK1JyNdMeF-dgrpHozDecpDfsRZUtpCi+1AbtuEkfG3YooQ@mail.gmail.com>
2016-09-20 12:04:41 -04:00
..
access Fix outdated comments, GIST search queue is not an RBTree anymore. 2016-09-20 11:38:25 +03:00
bootstrap Fix a bunch of places that called malloc and friends with no NULL check. 2016-08-30 18:22:43 -04:00
catalog Improve parser's and planner's handling of set-returning functions. 2016-09-13 13:54:24 -04:00
commands Clarify policy on marking inherited constraints as valid. 2016-09-15 17:24:54 -04:00
executor Fix typo in comment. 2016-09-15 11:35:57 -04:00
foreign Remove GetUserMappingId() and GetUserMappingById(). 2016-07-22 11:32:23 -04:00
lib Clarify the new Red-Black post-order traversal code a bit. 2016-09-04 15:02:06 +03:00
libpq Fix building with LibreSSL. 2016-09-15 22:52:51 +03:00
main Repair a bit of pgindent damage. 2016-06-09 18:09:17 -04:00
nodes Add debugging aid "bmsToString(Bitmapset *bms)". 2016-09-16 09:36:24 -04:00
optimizer Improve parser's and planner's handling of set-returning functions. 2016-09-13 13:54:24 -04:00
parser Improve parser's and planner's handling of set-returning functions. 2016-09-13 13:54:24 -04:00
po Translation updates 2016-08-08 11:08:00 -04:00
port Fix a bunch of places that called malloc and friends with no NULL check. 2016-08-30 18:22:43 -04:00
postmaster Move code shared between libpq and backend from backend/libpq/ to common/. 2016-09-02 13:49:59 +03:00
regex Make locale-dependent regex character classes work for large char codes. 2016-09-05 17:06:29 -04:00
replication Identify walsenders in pg_stat_activity 2016-09-12 08:57:14 +01:00
rewrite Improve parser's and planner's handling of set-returning functions. 2016-09-13 13:54:24 -04:00
snowball
storage Retry DSM control segment creation if Windows indicates access denied. 2016-09-20 12:04:41 -04:00
tcop Add location field to DefElem 2016-09-06 12:00:00 -04:00
tsearch Add macros to make AllocSetContextCreate() calls simpler and safer. 2016-08-27 17:50:38 -04:00
utils Make min_parallel_relation_size's default value platform-independent. 2016-09-15 11:23:25 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
common.mk
Makefile Provide and use a makefile target to build all generated headers. 2016-07-01 15:09:02 -04:00
nls.mk