MGWIZ *w;
dMY_CXT;
+ if (PL_dirty) /* during global destruction, the context is already freed */
+ return 0;
+
w = SV2MGWIZ(wiz);
if (hv_delete(MY_CXT.wizz, buf, sprintf(buf, "%u", w->sig), 0)) {
sv = MGWIZ2SV(w);
mg = sv_magicext(sv, NULL, PERL_MAGIC_ext, &vmg_wizard_vtbl, NULL, -1);
mg->mg_private = SIG_WIZ;
+ SvREADONLY_on(sv);
hv_store(MY_CXT.wizz, buf, sprintf(buf, "%u", sig), sv, 0);
++MY_CXT.count;