On Thu, Jun 1, 2017 at 10:36 PM, Petr Jelinek <petr.jeli...@2ndquadrant.com> wrote: > On 01/06/17 15:25, Tom Lane wrote: >> Robert Haas <robertmh...@gmail.com> writes: >>> So, are you going to, perhaps, commit this? Or who is picking this up? >> >>> /me knows precious little about Windows. >> >> I'm not going to be the one to commit this either, but seems like someone >> should. >> > > The new code does not use any windows specific APIs or anything, it just > adds retry logic for reattaching when we do EXEC_BACKEND which seems to > be agreed way of solving this. I do have couple of comments about the > code though. > > The new parameter retry_count in PGSharedMemoryReAttach() seems to be > only used to decide if to log reattach issues so that we don't spam log > when retrying, but this fact is not mentioned anywhere. >
No, it is to avoid calling free of memory which is not reserved on retry. See the comment: + * On the first try, release memory region reservation that was made by + * the postmaster. Are you referring to the same function in sysv_shm.c, if so probably I can say refer the same API in win32_shmem.c or maybe add a similar comment there as well? > Also, I am not excited about following coding style: >> + if (!pgwin32_ReserveSharedMemoryRegion(pi.hProcess)) >> + continue; >> + else >> + { > > Amit, if you want to avoid having to add the curly braces for single > line while still having else, I'd invert the expression in the if () > statement so that true comes first. It's much less ugly to have curly > braces part first and the continue statement in the else block IMHO. > I felt that it is easier to understand the code in the way it is currently written, but I can invert the check if you find it is easier to read and understand that way. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers