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();
+
/* This is a hack. I dunno if we can count on SWIG calling the module "m"
*/
PyModule_AddObject(m, "SubversionException",
svn_swig_py_register_exception());
Index: subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
===================================================================
--- subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (revision
16377)
+++ subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (working
copy)
@@ -72,14 +72,6 @@
PyThreadState *thread_state;
if (_saved_thread_key == NULL) {
-
- /* This is ugly. We call svn_swig_py_release_py_lock before executing
any
- subversion function. Thus it gets called before any call to
- apr_initialize in our script. This means we have to call
- apr_initialize ourselves, or otherwise we won't be able to
- create our pool. */
- apr_initialize();
-
/* Obviously, creating a top-level pool for this is pretty stupid. */
apr_pool_create(&_saved_thread_pool, NULL);
apr_threadkey_private_create(&_saved_thread_key, NULL,
_saved_thread_pool);
Index: subversion/bindings/swig/proxy/proxy_apr.swg
===================================================================
--- subversion/bindings/swig/proxy/proxy_apr.swg (revision 16377)
+++ subversion/bindings/swig/proxy/proxy_apr.swg (working copy)
@@ -61,7 +61,6 @@
# then initialize APR and set this pool
# to be the application-level pool
if not self._parent_pool:
- apr_initialize()
svn_swig_py_set_application_pool(self, self)
application_pool = self
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();
+
/* This is a hack. I dunno if we can count on SWIG calling the module "m"
*/
PyModule_AddObject(m, "SubversionException",
svn_swig_py_register_exception());
Index: subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
===================================================================
--- subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (revision
16377)
+++ subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (working
copy)
@@ -72,14 +72,6 @@
PyThreadState *thread_state;
if (_saved_thread_key == NULL) {
-
- /* This is ugly. We call svn_swig_py_release_py_lock before executing
any
- subversion function. Thus it gets called before any call to
- apr_initialize in our script. This means we have to call
- apr_initialize ourselves, or otherwise we won't be able to
- create our pool. */
- apr_initialize();
-
/* Obviously, creating a top-level pool for this is pretty stupid. */
apr_pool_create(&_saved_thread_pool, NULL);
apr_threadkey_private_create(&_saved_thread_key, NULL,
_saved_thread_pool);
Index: subversion/bindings/swig/proxy/proxy_apr.swg
===================================================================
--- subversion/bindings/swig/proxy/proxy_apr.swg (revision 16377)
+++ subversion/bindings/swig/proxy/proxy_apr.swg (working copy)
@@ -61,7 +61,6 @@
# then initialize APR and set this pool
# to be the application-level pool
if not self._parent_pool:
- apr_initialize()
svn_swig_py_set_application_pool(self, self)
application_pool = self
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Sep 30 19:23:26 2005