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 по дате отправления: