Re: plperl and inline functions -- first draft

Поиск
Список
Период
Сортировка
От Alexey Klyukin
Тема Re: plperl and inline functions -- first draft
Дата
Msg-id AAA71B8A-8900-478E-9CFF-72E32C9A32A4@commandprompt.com
обсуждение исходный текст
Ответ на Re: plperl and inline functions -- first draft  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Nov 29, 2009, at 4:40 AM, Tom Lane wrote:

> Alexey Klyukin <alexk@commandprompt.com> writes:
>
>> Isn't it also the case with the existing plperl code ? I've noticed that free(prodesc) is called when it's no longer
used(i.e. in plperl_compile_callback:1636), but refcount of desc->reference is never decremented. 
>
> I've been experimenting with this and confirmed that there is a leak;
> not only in the DO patch but in the pre-existing code, if a plperl
> function is redefined repeatedly.
>
> Is this the correct way to release the SV* reference?
>
>         if (reference)
>             SvREFCNT_dec(reference);


Yes. In fact this only decreases the reference count, making the interpreter free the memory referred to when it
becomes0, but since prodesc->reference has refcount of 1 this would do the right thing. 

--
Alexey Klyukin                    http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc



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

Предыдущее
От: Hitoshi Harada
Дата:
Сообщение: Re: add more frame types in window functions (ROWS)
Следующее
От: Andrew Gierth
Дата:
Сообщение: Re: Timezones (in 8.5?)