Shelby Cain <alyandon@yahoo.com> writes:
> Assuming this is an issue with shared libraries, I think it would have more=
> to do with the way Windows resolves address conflicts on process startup t=
> han anything caused by explicit calls to LoadLibrary(). Looking at postgre=
> s.exe with the dependency viewer from Visual Studio 6, I see that the follo=
> wing shared library dependencies embedded in the executable image that havi=
> ng conflicting base addresses. If I'm not mistaken, Windows will automatic=
> ally relocate these libraries prior to actual code execution so there would=
> be no opportunity for that particular instance of postgres.exe to map the =
> shared memory if the address space is already in use by a relocated dll.
But the shmem was originally allocated in the postmaster process, which
is the identical executable with the identical set of linked-in DLLs.
So it's really unclear why the child processes would be unable to
reattach at the same address.
regards, tom lane