Chris Marcellino <cmarcellino@apple.com> writes:
> Here is a new patch that uses the POSIX api's. It encodes the
> canonical path (see 'man realpath') of the database's data directory
> into the shared memory segment name using an strong hash function to
> make it fit in the shared memory segment name under all cases,
> without risk of key collision.
I find this patch utterly unreadable, because of your cavalier disregard
for making the comments match the truth. You have copied-and-pasted the
original SysV code and fixed some small fraction of the comments, and I
cannot tell which ones still reflect reality --- but I can tell that a
lot of them don't.
Also, I don't see where this implements any sort of detection of live
backends attached to an existing segment, so I don't think you have
responded to that objection. Magnus' idea for Windows was to use a
segment set up to automatically go away as soon as the last attacher
died, but AFAICT that isn't how this works.
regards, tom lane