Randy Kobes <[EMAIL PROTECTED]> writes:
[...]
================================================================== #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) {
This has a different signature from the one in modperl_common_util.h, so you probably want
apr_status_t modperl_interp_unselect(void *data) { modperl_interp_t *interp = data;
[...]
(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.
I don't notice any change on debian-amd64 - all tests pass either way (except t/protocol/echo_timeout.t, which is expected since I'm testing against HEAD for apr & httpd-2.0). However, given
that mpxs_apr_pool_cleanup_register increments refcnt, your implementation seems to be an improvement over current-cvs.
But which of the apr-ext tests happen to select interpreters at all? Can you find out why did you need that workaround. It's quite possible that your patch is the right thing to do, but I made it a no-op since I didn't see why would you want to unselect it at all.
I suppose the issue comes from loading APR.so and mod_perl.so at the same time and having the wrong symbol kicking in. It should have picked mod_perl.so's modperl_interp_unselect, not APR.so's one.
If you can't control that, the right solution is to move modperl_interp_unselect into the common area, instead of duplicating it. Notice that I added that workaround before we did the split, so it's probably the right thing to do in any case.
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
