> > For #2, yes, the semaphores will go away when the last
> process holding
> > a HANDLE to it goes away.
>
> Well, that raises an interesting point: exactly where in this
> code does ownership of the HANDLEs get propagated to the
> child processes? As written, the HANDLEs seem to belong only
> to the postmaster --- will the kernel calls even work in the
> child processes? According to what someone was telling me
> the other day, HANDLEs are process-local, so just storing
> them in shared memory doesn't seem like it should work.
They're inherited down. I haven't looked at the calling path, but if
they're all created in the postmaster *before* the backends are forked,
it's not a problem. The code specifically sets them to inheritable, and
if you do that you can use them in a child process.
//Magnus