postgresql/src/backend/storage
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
..
buffer Add debug check function LWLockHeldByMeInMode() 2016-09-05 10:38:08 +01:00
file Add macros to make AllocSetContextCreate() calls simpler and safer. 2016-08-27 17:50:38 -04:00
freespace pgindent run for 9.6 2016-06-09 18:02:36 -04:00
ipc Retry DSM control segment creation if Windows indicates access denied. 2016-09-20 12:04:41 -04:00
large_object Update copyright for 2016 2016-01-02 13:33:40 -05:00
lmgr Add debug check function LWLockHeldByMeInMode() 2016-09-05 10:38:08 +01:00
page Rewrite PageIndexDeleteNoCompact into a form that only deletes 1 tuple. 2016-09-09 19:00:59 -04:00
smgr Improve scalability of md.c for large relations. 2016-09-08 17:18:46 -07:00
Makefile Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00