On Sun, Jan 5, 2014 at 12:34 PM, james <ja...@mansionfamily.plus.com> wrote: > On 05/01/2014 16:50, Robert Haas wrote: > > But on Windows, segments are *automatically* > destroyed *by the operating system* when the last process unmaps them, > so it's not quite so clear to me how we can allow it there. The main > shared memory segment is no problem because the postmaster always has > it mapped, even if no one else does, but that doesn't help for dynamic > shared memory segments. > > Surely you just need to DuplicateHandle into the parent process? If you > want to (tidily) dispose of it at some time, then you'll need to tell the > postmaster that you have done so and what the handle is in its process, > but if you just want it to stick around, then you can just pass it up.
Uh, I don't know, maybe? Does the postmaster have to do something to receive the duplicated handle, or can the child just throw it over the wall to the parent and let it rot until the postmaster finally exits? The latter would be nicer for our purposes, perhaps, as running more code from within the postmaster is risky for us. If a regular backend process dies, the postmaster will restart everything and the database will come back on line, but if the postmaster itself dies, we're hard down. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers