I wrote:
> Actually, now that I look at it, it's even more obvious that this is the
> wrong thing because *all the subprocess types in question already call
> PGSharedMemoryDetach*.
Ah, scratch that: in most of them, the call is in #ifndef EXEC_BACKEND
stanzas. The exception is bgworker start for a non-attached-to-shmem
worker, and in that case there's no log message because in fact
SubPostmasterMain did reattach.
This is kind of a mess :-(. But it does look like what we want is
for SubPostmasterMain to do more than nothing when it chooses not to
reattach. Probably that should include resetting UsedShmemSegAddr to
NULL, as well as closing the handle.
regards, tom lane