Change 20602 by [EMAIL PROTECTED] on 2003/08/10 19:45:45
Too many resulting core dumps.
Affected files ...
... //depot/perl/pad.c#26 edit
... //depot/perl/t/op/closure.t#20 edit
Differences ...
==== //depot/perl/pad.c#26 (text) ====
Index: perl/pad.c
--- perl/pad.c#25~20597~ Sun Aug 10 10:55:03 2003
+++ perl/pad.c Sun Aug 10 12:45:45 2003
@@ -258,15 +258,9 @@
{
assert(CvWEAKOUTSIDE(innercv));
CvWEAKOUTSIDE_off(innercv);
+ CvOUTSIDE(innercv) = outercv;
CvOUTSIDE_SEQ(innercv) = seq;
- /* don't relink to grandfather if he's being freed */
- if (SvREFCNT(outercv)) {
- CvOUTSIDE(innercv) = outercv;
- SvREFCNT_inc(outercv);
- }
- else {
- CvOUTSIDE(innercv) = Nullcv;
- }
+ SvREFCNT_inc(outercv);
}
}
}
==== //depot/perl/t/op/closure.t#20 (xtext) ====
Index: perl/t/op/closure.t
--- perl/t/op/closure.t#19~20597~ Sun Aug 10 10:55:03 2003
+++ perl/t/op/closure.t Sun Aug 10 12:45:45 2003
@@ -13,7 +13,7 @@
use Config;
-print "1..185\n";
+print "1..184\n";
my $test = 1;
sub test (&) {
@@ -641,27 +641,4 @@
test { $a{7}->()->() + $a{11}->()->() == 18 };
}
-# bugid #23265 - this used to coredump during destruction of PL_maincv
-# and its children
-
-require './test.pl';
-
-my $got = runperl(
- prog => q[
- print
- sub {$_[0]->(@_)} -> (
- sub {
- $_[1]
- ? $_[0]->($_[0], $_[1] - 1) . sub {"x"}->()
- : "y"
- },
- 2
- )
- , "\n"
- ;
-
- ],
- stderr => 1
-);
-test { $got eq "yxx\n" };
End of Patch.