X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=Magic.xs;h=5b4576aed6b1da7f3dfdc55e987aeb52495034a3;hb=fbbe2a83ed1d928afe5a634f01c1b653d7288d9c;hp=08c61d23c9c37b61eb65228db5bc0cc196d8170c;hpb=efeec3ba13ae51a34cf68c55022e8668cad3968c;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/Magic.xs b/Magic.xs index 08c61d2..5b4576a 100644 --- a/Magic.xs +++ b/Magic.xs @@ -694,7 +694,7 @@ STATIC I32 vmg_svt_val(pTHX_ IV action, SV *sv) { continue; case 2: if (!newkey) - newkey = key = umg->mg_obj = sv_2mortal(newSVsv(umg->mg_obj)); + newkey = key = umg->mg_obj = sv_mortalcopy(umg->mg_obj); } switch (action) { case 0: @@ -971,13 +971,14 @@ BOOT: newCONSTSUB(stash, "VMG_THREADSAFE", newSVuv(VMG_THREADSAFE)); } +#if VMG_THREADSAFE + void CLONE(...) PROTOTYPE: DISABLE PREINIT: HV *hv; CODE: -#if VMG_THREADSAFE { HE *key; dMY_CXT; @@ -1000,6 +1001,7 @@ CODE: MY_CXT_CLONE; MY_CXT = hv; } + #endif /* VMG_THREADSAFE */ SV *_wizard(...)