| ######################################## |
| # external (non-mod_perl) APR:: issues # |
| ######################################## |
| |
| * As mike chamberlain told me over irc, apr-ext/perlio was faling for |
| him because of the modperl_perl_gensym not being resolved in |
| APR/PerlIO.so. I didn't see that error since on linux by default |
| symbols resolution is lazy and since that part of the api wasn't |
| tested I did see the problem. On MacOSX the loading is RTLD_NOW |
| (non-lazy) so it detects any missing symbols problems immediately. |
| |
| Luckily DynaLoader allows us to force the non-lazy mode by setting |
| an env var: PERL_DL_NONLAZY=1. We need to force this env variable on |
| when building with MP_MAINTAINER=1. I suppose that it should be |
| added to the autogenerated t/TEST and t/SMOKE. and to |
| t/conf/modperl_extra.pl ($ENV{PERL_DL_NONLAZY}=1) so it affects the |
| server-side as well as the client-side (normally env var aren't |
| propogated to the server). |
| |
| * APR::Pool relies on interpreter management function: |
| modperl_interp_unselect. At the moment I've worked around it by |
| defining an empty function in APR.xs. But a cleaner solution is |
| desirable. |
| |
| * modules that we need to add tests for in apr-ext: |
| APR::Date |
| APR::Const |
| APR::URI |
| APR::Base64 |
| APR::String |
| APR::Error |
| APR::XSLoader |
| APR::PerlIO |
| APR::OS |
| APR::Socket |
| APR::Brigade |
| APR::Finfo |
| APR::Util |
| APR::Bucket |
| APR::NetLib |
| APR::ThreadMutex |
| APR::SockAddr |
| |
| I think that it's enough to just load them, since most of them are |
| already thoroughly tested under mod_perl. Then if we find some |
| running-outside-mod_perl specific bugs we can write specific tests |
| for those. |