Tom Lane wrote:
>
> "Marc G. Fournier" <scrappy@hub.org> writes:
> > All I'm planning on doing is changing the appropriate shm_* functions iwth
> > pg_shm_* functions ... if !(libapr), all those pg_shm_* functions will
> > have in them is the original call we've always used ... there will even be
> > a --disable-libapr configure option so that if someone already has Apache2
> > installed, but doesn't wanna use libapr for PgSQL, they don't have to ...
>
> > Basically, all I'm looking at is allowing PgSQL to use a different library
> > for its shared memory calls then the standard one, nothing else ...
>
> Oh. I guess my next question is how closely that Apache library
> emulates the SysV shmem semantics. In particular, can you reliably
> tell how many processes are attached to a shmem block? (Cf
> SharedMemoryIsInUse() in storage/ipc/ipc.c) Without that feature we
> have an interlock problem.
I am not familiar with the Apache code, but I see no reason why all the
features in SysV SHM should not be implementable in a Windows modules. IMHO
that's what should be done.