• Tom Lane's avatar
    On Windows, retry process creation if we fail to reserve shared memory. · 45e004fb
    Tom Lane authored
    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
    45e004fb
postmaster.c 177 KB