summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-07-18 01:17:28 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-07-18 01:17:28 +0000
commitdc92893f11da1644967e0cba1816c77151a07426 (patch)
tree26101da8a817307673c2bb51cb296aec2270de06 /perl.c
parent13c658c95a9106efbd9a2a741a39e24c1c0f4e3b (diff)
downloadperl-dc92893f11da1644967e0cba1816c77151a07426.tar.gz
fix $/ init for multiple interpreters/threads
p4raw-id: //depot/perl@1523
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/perl.c b/perl.c
index 9e29975cfc..fe1df904c3 100644
--- a/perl.c
+++ b/perl.c
@@ -164,9 +164,6 @@ perl_construct(register PerlInterpreter *sv_interp)
SvREFCNT(&sv_yes) = (~(U32)0)/2;
}
- nrs = newSVpv("\n", 1);
- rs = SvREFCNT_inc(nrs);
-
#ifdef PERL_OBJECT
/* TODO: */
/* sighandlerp = sighandler; */
@@ -186,6 +183,9 @@ perl_construct(register PerlInterpreter *sv_interp)
#endif
}
+ nrs = newSVpv("\n", 1);
+ rs = SvREFCNT_inc(nrs);
+
init_stacks(ARGS);
#ifdef MULTIPLICITY
init_interp();
@@ -428,7 +428,10 @@ perl_destruct(register PerlInterpreter *sv_interp)
Safefree(ors); /* $\ */
ors = Nullch;
- SvREFCNT_dec(nrs); /* $\ helper */
+ SvREFCNT_dec(rs); /* $/ */
+ rs = Nullsv;
+
+ SvREFCNT_dec(nrs); /* $/ helper */
nrs = Nullsv;
multiline = 0; /* $* */