cvs commit: modperl-2.0/xs/Apache/Log Apache__Log.h
dougm 2002/06/18 22:18:04 Modified:lib/ModPerl WrapXS.pm src/modules/perl mod_perl.h modperl_perl_includes.h modperl_util.c modperl_util.h xs/Apache/Log Apache__Log.h Log: get the -DPERL_CORE optimization working again Revision ChangesPath 1.47 +1 -1 modperl-2.0/lib/ModPerl/WrapXS.pm Index: WrapXS.pm === RCS file: /home/cvs/modperl-2.0/lib/ModPerl/WrapXS.pm,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- WrapXS.pm 11 Jun 2002 16:27:57 - 1.46 +++ WrapXS.pm 19 Jun 2002 05:18:04 - 1.47 @@ -397,7 +397,7 @@ my $str = ""; if (my $boot = $self->typemap->{function_map}->{boot}->{$module}) { -$str = 'mpxs_' . $self->cname($module) . "_BOOT(aTHXo);\n"; +$str = 'mpxs_' . $self->cname($module) . "_BOOT(aTHX);\n"; } $str; 1.47 +1 -1 modperl-2.0/src/modules/perl/mod_perl.h Index: mod_perl.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- mod_perl.h16 Jun 2002 01:07:37 - 1.46 +++ mod_perl.h19 Jun 2002 05:18:04 - 1.47 @@ -75,7 +75,7 @@ apr_pool_t *modperl_server_pool(void); PerlInterpreter *modperl_startup(server_rec *s, apr_pool_t *p); int modperl_perl_destruct_level(void); -void xs_init(pTHXo); +void xs_init(pTHX); void modperl_response_init(request_rec *r); void modperl_response_finish(request_rec *r); 1.16 +2 -0 modperl-2.0/src/modules/perl/modperl_perl_includes.h Index: modperl_perl_includes.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_perl_includes.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- modperl_perl_includes.h 19 Jun 2002 02:02:24 - 1.15 +++ modperl_perl_includes.h 19 Jun 2002 05:18:04 - 1.16 @@ -9,6 +9,8 @@ #define PERLIO_NOT_STDIO 0 +#include "config.h" + /* * sizeof(struct PerlInterpreter) changes #ifdef USE_LARGE_FILES * apache-2.0 cannot be compiled with lfs because of sendfile.h 1.46 +1 -1 modperl-2.0/src/modules/perl/modperl_util.c Index: modperl_util.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_util.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- modperl_util.c19 Jun 2002 02:02:24 - 1.45 +++ modperl_util.c19 Jun 2002 05:18:04 - 1.46 @@ -292,7 +292,7 @@ #define dl_librefs "DynaLoader::dl_librefs" #define dl_modules "DynaLoader::dl_modules" -void modperl_xs_dl_handles_clear(pTHXo) +void modperl_xs_dl_handles_clear(pTHX) { AV *librefs = get_av(dl_librefs, FALSE); if (librefs) { 1.34 +1 -1 modperl-2.0/src/modules/perl/modperl_util.h Index: modperl_util.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_util.h,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- modperl_util.h23 May 2002 22:18:47 - 1.33 +++ modperl_util.h19 Jun 2002 05:18:04 - 1.34 @@ -73,7 +73,7 @@ char *modperl_server_desc(server_rec *s, apr_pool_t *p); -void modperl_xs_dl_handles_clear(pTHXo); +void modperl_xs_dl_handles_clear(pTHX); apr_array_header_t *modperl_xs_dl_handles_get(pTHX_ apr_pool_t *p); 1.10 +1 -1 modperl-2.0/xs/Apache/Log/Apache__Log.h Index: Apache__Log.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/Log/Apache__Log.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Apache__Log.h 26 Mar 2002 03:37:47 - 1.9 +++ Apache__Log.h 19 Jun 2002 05:18:04 - 1.10 @@ -1,4 +1,4 @@ -static void mpxs_Apache__Log_BOOT(pTHXo) +static void mpxs_Apache__Log_BOOT(pTHX) { av_push(get_av("Apache::Log::Request::ISA",TRUE), newSVpv("Apache::Log",11));
cvs commit: modperl-2.0/xs/Apache/Log Apache__Log.h
dougm 02/03/25 19:37:47 Modified:xs/Apache/Log Apache__Log.h Log: workaround win32/5.6.1 bug which crashes when using PL_sv_no with do_join Revision ChangesPath 1.9 +24 -6 modperl-2.0/xs/Apache/Log/Apache__Log.h Index: Apache__Log.h === RCS file: /home/cvs/modperl-2.0/xs/Apache/Log/Apache__Log.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Apache__Log.h 4 May 2001 06:31:37 - 1.8 +++ Apache__Log.h 26 Mar 2002 03:37:47 - 1.9 @@ -102,6 +102,27 @@ #define mpxs_Apache__Server_log(sv) \ mpxs_Apache__Log_log(aTHX_ sv, MP_LOG_SERVER) +static MP_INLINE SV *modperl_perl_do_join(pTHX_ SV **mark, SV **sp) +{ +SV *sv = newSV(0); +SV *delim; +#ifdef WIN32 +/* XXX: using PL_sv_no crashes on win32 with 5.6.1 */ +delim = newSVpv("", 0); +#else +delim = SvREFCNT_inc(&PL_sv_no); +#endif + +do_join(sv, delim, mark, sp); + +SvREFCNT_dec(delim); + +return sv; +} + +#define my_do_join(m, s) \ + modperl_perl_do_join(aTHX_ (m), (s)) + static XS(MPXS_Apache__Log_dispatch) { dXSARGS; @@ -115,8 +136,7 @@ } if (items > 2) { -msgsv = newSV(0); -do_join(msgsv, &PL_sv_no, MARK+1, SP); +msgsv = my_do_join(MARK+1, SP); } else { msgsv = ST(1); @@ -213,8 +233,7 @@ status = (apr_status_t)SvIV(ST(4)); if (items > 6) { -msgsv = newSV(0); -do_join(msgsv, &PL_sv_no, MARK+5, SP); +msgsv = my_do_join(MARK+5, SP); } else { msgsv = ST(5); @@ -279,8 +298,7 @@ } if (items > 1+i) { -sv = newSV(0); -do_join(sv, &PL_sv_no, MARK+i, SP); /* $sv = join '', @_[1..$#_] */ +sv = my_do_join(MARK+i, SP); /* $sv = join '', @_[1..$#_] */ errstr = SvPV(sv,n_a); } else {