David James wrote:
> Max, are you using a static or a dynamic build of APR?
Dynamic.
> I'm using a static build of APR.
Oh dear. There's the problem.
> Does that mean that C/Python module
> (libsvn._core, libsvn._wc, etc) has a separate copy of the internal
> APR datastructures?
Yes :-(
> If so, then it might be a good idea for us to
> separately initialize APR in each module.
Issues with this:
- atexit() slots may be a scarce finite resource - no more than 32 are
guaranteed.
- are there any issues with passing objects allocated by pools owned by one
apr instance to another?
- does libsvn_swig_py have an additional copy of apr, as well as all the
modules?
- it's worryingly inelegant
I'm pretty surprised that the link succeeded at all, as I know that libtool
is designed to outright refuse to link a shared library to a static library.
Note also that we already require (though we do not enforce) that
libsvn_swig_py be a shared library, with improper operation being the result
if it is static (issue 2202). In view of this, I think we can reasonably
require that apr also be a shared library.
Perhaps we can create some configury to warn about this issue.
Max.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Oct 5 18:23:07 2005