pgsql: On Windows, retry process creation if we fail to reserve shared

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: On Windows, retry process creation if we fail to reserve shared
Date: 2017-07-10 15:00:30
Message-ID: E1dUaAo-0007vj-4w@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Windows, retry process creation if we fail to reserve shared memory.

We've heard occasional reports of backend launch failing because
pgwin32_ReserveSharedMemoryRegion() fails, indicating that something
has already used that address space in the child process. It's not
very clear what, given that we disable ASLR in Windows builds, but
suspicion falls on antivirus products. It'd be better if we didn't
have to disable ASLR, anyway. So let's try to ameliorate the problem
by retrying the process launch after such a failure, up to 100 times.

Patch by me, based on previous work by Amit Kapila and others.
This is a longstanding issue, so back-patch to all supported branches.

Discussion: https://postgr.es/m/CAA4eK1+R6hSx6t_yvwtx+NRzneVp+MRqXAdGJZChcau8Uij-8g@mail.gmail.com

Branch
------
REL9_3_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/59892b1209b9202338dbfc65c9a59cbed182befb

Modified Files
--------------
src/backend/postmaster/postmaster.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2017-07-10 16:01:40 pgsql: Translation updates
Previous Message Heikki Linnakangas 2017-07-10 13:01:50 Re: pgsql: Allow multiple hostaddrs to go with multiple hostnames.