On Sat, Nov 13, 2010 at 08:07:52PM -0500, Tom Lane wrote: > "A.M." <age...@themactionfaction.com> writes: > > The goal of this work is to address all of the shortcomings of previous > > POSIX shared memory patches as pointed out mostly by Tom Lane. > > It seems like you've failed to understand the main shortcoming of this > whole idea, which is the loss of ability to detect pre-existing backends > still running in a cluster whose postmaster has crashed. The nattch > variable of SysV shmem segments is really pretty critical to us, and > AFAIK there simply is no substitute for it in POSIX-land.
I've been looking and there really doesn't appear to be. This is consistant as there is nothing else in POSIX where you can determine how many other people have the same file, pipe, tty, etc open. I asked a few people for ideas and got answers like: just walk through /proc and check. Apart from the portability issues, this won't work if there are different user-IDs in play. The only real solution seems to me to be to keep a small SysV shared memory segment for the locking and allocate the rest of the shared memory some other way. If all backends map the SysV memory before the other way, then you can use the non-existance of the SysV SHM to determine the non-existance of the other segment. Quite a bit more work, ISTM. Haveva nice day, -- Martijn van Oosterhout <klep...@svana.org> http://svana.org/kleptog/ > Patriotism is when love of your own people comes first; nationalism, > when hate for people other than your own comes first. > - Charles de Gaulle
Description: Digital signature