From: | "Magnus Hagander" <mha(at)sollentuna(dot)net> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>, <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: Win32 semaphore patch |
Date: | 2006-04-20 18:26:44 |
Message-ID: | 6BCB9D8A16AC4241919521715F4D8BCEA0F923@algol.sollentuna.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
> > 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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-04-20 18:36:56 | Re: Win32 semaphore patch |
Previous Message | Tom Lane | 2006-04-20 18:20:07 | Re: Win32 semaphore patch |