dougm 2002/08/26 22:19:09 Modified: src/modules/perl modperl_perl.c modperl_perl.h Log: fix some 5.6.x compile breakage Revision Changes Path 1.17 +22 -4 modperl-2.0/src/modules/perl/modperl_perl.c Index: modperl_perl.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_perl.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- modperl_perl.c 27 Aug 2002 04:24:08 -0000 1.16 +++ modperl_perl.c 27 Aug 2002 05:19:09 -0000 1.17 @@ -119,8 +119,12 @@ modperl_perl_call_list(aTHX_ PL_endav, "END"); } - if ((module_commands = modperl_module_config_table_get(perl, FALSE))) { - modperl_svptr_table_destroy(perl, module_commands); + { + dTHXa(perl); + + if ((module_commands = modperl_module_config_table_get(aTHX_ FALSE))) { + modperl_svptr_table_destroy(aTHX_ module_commands); + } } perl_destruct(perl); @@ -156,6 +160,19 @@ #ifdef USE_ITHREADS +#ifdef MP_PERL_5_6_x +# define my_sv_dup(s, p) sv_dup(s) + +typedef struct { + AV *stashes; + UV flags; + PerlInterpreter *proto_perl; +} CLONE_PARAMS; + +#else +# define my_sv_dup(s, p) sv_dup(s, p) +#endif + /* * copy a PTR_TBL_t whos PTR_TBL_ENT_t values are SVs. * the SVs are dup-ed so each interpreter has its own copy. @@ -204,7 +221,7 @@ dst_ent->oldval = src_ent->oldval; dst_ent->newval = - SvREFCNT_inc(sv_dup((SV*)src_ent->newval, &parms)); + SvREFCNT_inc(my_sv_dup((SV*)src_ent->newval, &parms)); } } @@ -213,6 +230,8 @@ return tbl; } +#endif + /* * need to free the SV values in addition to ptr_table_free */ @@ -240,7 +259,6 @@ ptr_table_free(tbl); } -#endif /* * the Perl ptr_table_ api does not provide a function to remove 1.9 +2 -2 modperl-2.0/src/modules/perl/modperl_perl.h Index: modperl_perl.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_perl.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- modperl_perl.h 27 Aug 2002 01:46:27 -0000 1.8 +++ modperl_perl.h 27 Aug 2002 05:19:09 -0000 1.9 @@ -18,9 +18,9 @@ PTR_TBL_t *modperl_svptr_table_clone(pTHX_ PerlInterpreter *proto_perl, PTR_TBL_t *source); -void modperl_svptr_table_destroy(pTHX_ PTR_TBL_t *tbl); - #endif + +void modperl_svptr_table_destroy(pTHX_ PTR_TBL_t *tbl); void modperl_svptr_table_delete(pTHX_ PTR_TBL_t *tbl, void *key);