Re: Win32 semaphore patch

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

Responses

Browse pgsql-patches by date

  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