On Mon, May 9, 2016 at 3:17 AM, Michael Paquier <michael.paqu...@gmail.com> wrote: > On Tue, Mar 22, 2016 at 1:56 PM, Amit Kapila <amit.kapil...@gmail.com> wrote: >> So as far as I can see there are two ways to resolve this issue, one is to >> retry generation of dsm name if CreateFileMapping returns EACCES and second >> is to append data_dir name to dsm name as the same is done for main shared >> memory, that will avoid the error to occur. First approach has minor flaw >> that if CreateFileMapping returns EACCES due to reason other then duplicate >> dsm name which I am not sure is possible to identify, then we should report >> error instead try to regenerate the name >> >> Robert and or others, can you share your opinion on what is the best way to >> proceed for this issue. > > For my 2c here, the approach using GetSharedMemName to identify the > origin of a dynamic shared memory segment looks more solid in terms of > robustness and collision handling. Retrying a segment is never going > to be completely water-proof.
Why not? I mean, there are ~2^32 possible segment handles, and not all that many of them can be in use. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers