Hi All,

I am currently facing a problem when I try to use two perl interpreters
within my C++ applicayion.

I have a C++ application which uses perl interpreter to run a perl script.
This script uses XS packages which in turn some methods of the C++
application.

Now problem came when one such method needed to run another perl script. For
which I initialized another perl interpreter inside that method and tried to
run the script with it.
But the program dies giving "Bus Error" at the time of call to
"perl_parse(...)" routine for the second interpreter, saying:

*Attempt to free non-existent shared string 'IFX_PERL_PKG'.*

Clearly there are two instances of perl interpreter existing at the same
time. And the second one tries to parse a script when the first one is in
the middle of parsing the first script.
Also this variable "IFX_PERL_PKG" is an environment variable which is used
in the first script to push its value into @INC. i.e.

*# In first script*
*unshift (@INC, "$ENV{\"IFX_PERL_PKG\"}");*

I have already tried setting "PL_perl_destruct_level = 1", as suggested
somewhere. But still the problem persists.

Thanks for giving any hints/help or passing any pointer for solutions.
Sorry if this topic has already been discussed here.

Regards,
Viresh

Reply via email to