On 9/30/05, Max Bowsher <maxb@ukf.net> wrote:
> Move apr initialization into the C code that runs as a result of "import
> libsvn._core", which should be imported as a result of importing any other
> module.
>
> I'd commit this, but I'm about to go out for a few hours, so I'll just post
> it here for now.
>
>
> Index: subversion/bindings/swig/core.i
> ===================================================================
> --- subversion/bindings/swig/core.i (revision 16377)
> +++ subversion/bindings/swig/core.i (working copy)
> @@ -635,6 +635,8 @@
> PyObject *svn_swig_py_register_cleanup(PyObject *py_pool, apr_pool_t
> *pool);
>
> %init %{
> +apr_initialize();
Can we add "atexit(apr_terminate)" here, and remove apr_terminate from
proxy_apr.swg? I think this would be a good idea, because it would
guarantee that no pools are used after APR is terminated.
The APR documentation recommends this:
apr_terminate: An APR program must call this function at termination
once it has stopped using APR services. The APR developers suggest
using atexit to ensure this is called. When using APR from a language
other than C that has problems with the calling convention, use
apr_terminate2() instead.
Cheers,
David
--
David James -- http://www.cs.toronto.edu/~james
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 1 00:18:30 2005