Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: ModPerl

perl_free(my_perl) affecting mod_perl?

 

 

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded


chintanaw at gmail

Jun 30, 2008, 11:34 PM

Post #1 of 1 (179 views)
Permalink
perl_free(my_perl) affecting mod_perl?

Hi,

I'm trying to call a Perl function from C code and clean the
interpreter I just created. I have a Perl script hosted with Apache +
mod_perl and when a request comes to the file (say example.pl) it'll
call a C function which is wrapped with SWIG. I'm getting the global
request via Apache2::RequestUtil->request() and fills a C struct with
the all the request parameters and pass it to a C function.

In this function, after figuring out what function to call by looking
at request data, that function is called using call_pv(). Note that
this function is also defined in the same file (example.pl). At the
time of the call_pv() since it cannot get the global request I have
put the part that gets the global request inside if defined
$ENV{MOD_PERL} block.

The issue I'm facing is, after,

perl_destruct(my_perl);
perl_free(my_perl);
PERL_SYS_TERM();

gets called, seems that it's not only affecting the Perl interpreter
instance I just created but some global state as well. From valgrind
I can see that it tries to access the freed pointer. So I tried to
change the variable name my_perl to something else but macros like dSP
seems to be using that.

When I clean up the interpreter within my function, does it affect
mod_perl? Is there a way I can get access to the interpreter used by
mod_perl so that I can execute a Perl function after using that as an
argument to perl_parse()?

Thanks in advance,

Bye,

-Chintana

--
http://engwar.com/

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.