On Sun, Jan 5, 2014 at 11:04 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?

   Ideally DuplicateHandle should work, but while going through Windows
   internals of shared memory functions on below link, I observed that
   they mentioned it that it will work for child proceess.
   http://msdn.microsoft.com/en-us/library/ms810613.aspx
   Refer section "Inheriting and duplicating memory-mapped file object
   handles"

>  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.

Duplicate handle should work, but we need to communicate the handle
to other process using IPC.


With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to