X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=Types.xs;h=03efb236089942a478ce22e30dc1c43d99bbfcc8;hb=10f2056e8e60beb34bab8d23b0bbd316afc9cb0b;hp=4883ea19335aca4be9652d20c6d513d728455c30;hpb=a7eb9184fdf28bcad8e1955399eec5ca3284bac3;p=perl%2Fmodules%2FLexical-Types.git diff --git a/Types.xs b/Types.xs index 4883ea1..03efb23 100644 --- a/Types.xs +++ b/Types.xs @@ -674,14 +674,16 @@ STATIC void lt_setup(pTHX) { if (lt_initialized) return; - MY_CXT_INIT; + { + MY_CXT_INIT; #if LT_THREADSAFE - MY_CXT.tbl = ptable_new(); - MY_CXT.owner = aTHX; + MY_CXT.tbl = ptable_new(); + MY_CXT.owner = aTHX; #endif - MY_CXT.pp_padsv_saved = 0; - MY_CXT.default_meth = newSVpvn("TYPEDSCALAR", 11); - SvREADONLY_on(MY_CXT.default_meth); + MY_CXT.pp_padsv_saved = 0; + MY_CXT.default_meth = newSVpvn("TYPEDSCALAR", 11); + SvREADONLY_on(MY_CXT.default_meth); + } lt_old_ck_padany = PL_check[OP_PADANY]; PL_check[OP_PADANY] = MEMBER_TO_FPTR(lt_ck_padany); @@ -705,8 +707,8 @@ MODULE = Lexical::Types PACKAGE = Lexical::Types PROTOTYPES: ENABLE -BOOT: -{ +BOOT: +{ if (!lt_booted++) { HV *stash; @@ -733,7 +735,7 @@ PREINIT: ptable *t; int *level; SV *cloned_default_meth; -CODE: +PPCODE: { my_cxt_t ud; dMY_CXT; @@ -756,6 +758,7 @@ CODE: SAVEDESTRUCTOR_X(lt_thread_cleanup, level); ENTER_with_name("sub"); } + XSRETURN(0); #endif