Re: [BUGS] Patch to allow C extension modules to initialize/finish

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [BUGS] Patch to allow C extension modules to initialize/finish
Дата
Msg-id 26751.1154641897@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [BUGS] Patch to allow C extension modules to initialize/finish  (David Fetter <david@fetter.org>)
Ответы Re: [BUGS] Patch to allow C extension modules to initialize/finish
Список pgsql-hackers
David Fetter <david@fetter.org> writes:
> On Thu, Aug 03, 2006 at 05:30:48PM -0400, Tom Lane wrote:
>> One question I have is whether it really works as expected in all
>> cases.  In particular what if the library is "preloaded" into the
>> postmaster?

> I'm not sure quite what you mean here, but PL/PerlU functions can
> use() modules, and those are called per-backend, i.e. when the
> function is invoked.  There's also some possibility that something
> might go into %_SHARED.

Well, the point is that you could have a scenario where the PG_init
function is executed in the postmaster, the process image is duplicated
via fork(), and then in a specific backend a LOAD command is executed
causing the PG_fini function to be called.  Is it likely that anything
would get confused by PG_init and PG_fini getting called by different
processes?

Also, if we do this we probably ought to remove the special-purpose
hack for preload_libraries to specify an init function --- it should
just happen by default.  Any objections to simplifying that?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: David Fetter
Дата:
Сообщение: Re: [BUGS] Patch to allow C extension modules to initialize/finish
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: [BUGS] Patch to allow C extension modules to initialize/finish