> > 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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster