summaryrefslogtreecommitdiff
path: root/win32/perllib.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/perllib.c')
-rw-r--r--win32/perllib.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/win32/perllib.c b/win32/perllib.c
index 61798faf1c..0cf21cb627 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -1556,12 +1556,14 @@ RunPerl(int argc, char **argv, char **env)
exitstatus = perl_parse(my_perl, xs_init, argc, argv, env);
if (!exitstatus) {
-#if 0 /* def USE_ITHREADS */ /* XXXXXX testing */
+#ifdef USE_ITHREADS /* XXXXXX testing */
extern PerlInterpreter * perl_clone(pTHXx_ IV flags);
PerlInterpreter *new_perl = perl_clone(my_perl, 0);
+ Perl_push_scope(new_perl); /* ENTER; (hack in lieu of perl_destruct()) */
exitstatus = perl_run( new_perl );
- /* perl_destruct(new_perl); perl_free(new_perl); */
+ perl_destruct(new_perl); perl_free(new_perl);
+ SetPerlInterpreter(my_perl);
#else
exitstatus = perl_run( my_perl );
#endif