Further to some problems I've been having with the current
cvs on Win32 (perl-5.8.4) and tests hanging (related to the
splitting off of APR::* from mod_perl.so), I think (?) this
can be traced to the workaround in xs/APR/APR/APR.xs on
defining modperl_interp_unselect:
==========================================================
#include "mod_perl.h"
/* XXX: provide the missing symbol for APR::Pool as a tmp workaround */
#ifndef modperl_interp_unselect apr_status_t
modperl_interp_unselect(void *data); apr_status_t
modperl_interp_unselect(void *data) { return APR_SUCCESS; }
#endif
===================================================================
Looking at how modperl_interp_select is defined in
src/modules/perl/modperl_interp.c, I tried the following
variation:
==================================================================
#include "mod_perl.h"
#include "modperl_common_util.h"
/* XXX: provide the missing symbol for APR::Pool as a tmp workaround */
#ifndef modperl_interp_unselect
apr_status_t modperl_interp_unselect(modperl_interp_t *interp) {
if (interp->refcnt != 0) {
--interp->refcnt;
}
return APR_SUCCESS; }
#endif
==================================================================
(I know I shouldn't be including mod_perl.h, but I did that
just to quickly define modperl_interp_t). In any case, this
seems to fix the problems, and all the tests pass for me,
including the apr-ext ones.
Does this fix seem kosher? Or some variation? I see from
src/modules/perl/modperl_types.h that modperl_interp_t
contains a request_rec member; is it legitimate to use
this structure when splitting APR::* from mod_perl.so
if one doesn't use the request_rec in this context?
--
best regards,
randy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]