summaryrefslogtreecommitdiff
path: root/mro.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-11-20 13:47:27 -0800
committerFather Chrysostomos <sprout@cpan.org>2012-11-20 17:58:57 -0800
commitc07f9fb2c73bebcf70fabbf464c0c3452af4fcbf (patch)
tree6139cd0ddf1c0065f321095bb1be9ea86e7419a1 /mro.c
parentfef5350ad7ccf261f50ed1b6cb771ee5bb4f6ade (diff)
downloadperl-c07f9fb2c73bebcf70fabbf464c0c3452af4fcbf.tar.gz
Revert "Revert "8c34e50dc slowed down detruction with no DESTROY""
This reverts commit 95f9781bc2fad025553db0160ef9c2c5363312a1. Now that the crash has been fixed by the preceding commit, we can reinstate 7cc6787e9db.
Diffstat (limited to 'mro.c')
-rw-r--r--mro.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mro.c b/mro.c
index 2d1d887fe8..be2038f4e7 100644
--- a/mro.c
+++ b/mro.c
@@ -578,6 +578,7 @@ Perl_mro_isa_changed_in(pTHX_ HV* stash)
revmeta->cache_gen++;
if(revmeta->mro_nextmethod)
hv_clear(revmeta->mro_nextmethod);
+ if (!SvOBJECT(revstash)) SvSTASH(revstash) = NULL;
(void)
hv_store(
@@ -1356,6 +1357,7 @@ Perl_mro_method_changed_in(pTHX_ HV *stash)
mrometa->cache_gen++;
if(mrometa->mro_nextmethod)
hv_clear(mrometa->mro_nextmethod);
+ if (!SvOBJECT(revstash)) SvSTASH(revstash) = NULL;
}
}