Alex Hunsaker <bada...@gmail.com> writes:

> On Tue, Feb 25, 2014 at 6:56 AM, Sergey Burladyan <eshkin...@gmail.com> wrote:
>
> > It looks like I found the problem, Perl use reference count and something 
> > that
> > is called "Mortal" for memory management.  As I understand it, mortal is 
> > free
> > after FREETMPS. Plperl call FREETMPS in plperl_call_perl_func() but after 
> > it,
> > plperl ask perl interpreter again for new mortal SV variables, for example, 
> > in
> > hek2cstr from plperl_sv_to_datum, and this new SV is newer freed.
>
> So I think hek2cstr is the only place we leak (its the only place I
> can see that allocates a mortal sv without being wrapped in
> ENTER/SAVETMPS/FREETMPS/LEAVE).

Yeah, I also try to fix only hek2cstr, but failed.

> Does the attached fix it for you?

Yes, your patch is fix it for me, thank you, Alex!



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to