Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re: MemLeak in Perl from C Calls

by kal (Hermit)
on Apr 24, 2001 at 15:37 UTC ( #75021=note: print w/replies, xml ) Need Help??

in reply to Re: Re: MemLeak in Perl from C Calls
in thread MemLeak in Perl from C Calls

No, as you say, you're using it pretty much as documented. Probably the best thing to do will be to keep the interpreter hanging around, and call perl_eval_ev() more than once - so in your loop, you get rid of the perl_construct/destruct, and put them outside the loop. That way, the memory you leak is constant, rather than proportional to the number of times you have looped. Not a fix, but a solution nonetheles...

Replies are listed 'Best First'.
Re: Re: MemLeak in Perl from C Calls
by stefan k (Curate) on Apr 24, 2001 at 16:13 UTC
    Hi kal,
    first: thanks for your efforts!

    I tried this and the leak became invisible. But then I found that if you'd take away the sleep(1) it still grows.
    As a matter of fact: with the perl interpreter intitialising stuffed into main it grows only every 30 calls or something like that -> ?!?!

    Just to be sure I removed the call_perl()-statement from the loop and it didn't leak...

    Regards Stefan K

      Just a stab in the dark but why not fork a child to do you loop? After you are down with the loop the child ends and should not the memory be reclaimed?

      The Price of Freedom is Eternal Vigilance
        Good point ...
        BUT only for this cooked down example. We actually need to get data from that perl call back into the main program. That is database access via DBI, reading (and parsing ;-) of text-files, evaluating perl code that gets some configuration etc....

        Regards Stefan K

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://75021]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2022-11-30 16:28 GMT
Find Nodes?
    Voting Booth?