Re: Win32 latch implementation revisited
| От | Tom Lane |
|---|---|
| Тема | Re: Win32 latch implementation revisited |
| Дата | |
| Msg-id | 5490.1284475132@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Win32 latch implementation revisited (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>) |
| Список | pgsql-hackers |
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> It just occurred to me that the Windows latch implementation goes
> through a lot of trouble to dynamically assign the shared Windows event
> handles to the latches in OwnLatch, but there's really no reason why
> they can't be statically assigned in InitSharedLatch instead. We have to
> allocate the same amount of event handles anyway.
> That makes the implementation a lot simpler, eliminating the shared
> memory block dedicated to latches altogether, and all the related
> bookkeeping. We no longer need NumSharedLatches() function anymore
> either, each InitSharedLatch call can allocate a new event handle directly.
That sounds real good. The only possible downside I can see is this:
> + * InitSharedLatch needs to be called in postmaster before forking child
> + * processes, usually right after allocating the shared memory block
> + * containing the latch with ShmemInitStruct. The Unix implementation
> + * doesn't actually require that, but the Windows one does.
But realistically I think we have to insist on InitSharedLatch being
done during shared memory setup anyway, else there will be race
condition issues. So no objection here.
regards, tom lane
В списке pgsql-hackers по дате отправления: