perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug MacEachern <do...@covalent.net>
Subject Re: passing through an existing foo.pm from xs
Date Fri, 14 Dec 2001 05:33:32 GMT
On Fri, 14 Dec 2001, Stas Bekman wrote:

just use this instead: 'use 5.8.0;'
which will run before ::load is called.

> Also what was the trick to avoid the bootstrap if tried outside of 
> modperl env?

the generated code spits out Apache::XSLoader::load for Apache classes and
APR::XSLoader::load for APR.  both of which take care of proper
bootstrapping inside and outside httpd.

'use APR ()' combined with APR::XSLoader::load will load APR/PerlIO.so
outside of httpd.  whereas Apache::XSLoader::load is a noop outside of
httpd.

> But since Apache::SubProcess could be used outside of mod_perl, this is 
> probably not good enough.

if that's the case, it should be APR::SubProcess.  it should only be named
Apache::SubProcess if it references ap_ symbols.

> The problem I have is that I need to add 
> APACHE_TEST_CONFIGURE in the subprocess.pm and blows up on require 
> outside mod_perl with a weird core:

looks like either a corrupt stack, dereferencing a NULL function pointer,
or function pointer called with prototype mismatch.

could also be because the current APR::PerlIO cannot be used outside of
httpd since it references modperl_global_get_pconf().
but i would expect an 'unable to resolve symbol' error from the linker,
not a wacky blowup like that.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message