[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [Patch] Fix position of apr_initialize() in Python bindings

From: David James <james82_at_gmail.com>
Date: 2005-10-01 00:17:35 CEST

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.