You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2013/11/30 13:39:34 UTC

svn commit: r1546723 - /subversion/trunk/subversion/libsvn_fs/fs-loader.c

Author: stefan2
Date: Sat Nov 30 12:39:34 2013
New Revision: 1546723

URL: http://svn.apache.org/r1546723
Log:
Follow-up to r1546409: Fix fs module deinitialization such that we are able
to re-init it later.  This is required to make pass ruby binding tests pass.

* subversion/libsvn_fs/fs-loader.c
  (common_pool,
   common_pool_lock): Ensure that all global variables always have
                      well-defined values.
  (uninit): Mark everything as "not initialized" again.

Modified:
    subversion/trunk/subversion/libsvn_fs/fs-loader.c

Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.c?rev=1546723&r1=1546722&r2=1546723&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.c Sat Nov 30 12:39:34 2013
@@ -63,8 +63,8 @@
 
 /* A pool common to all FS objects.  See the documentation on the
    open/create functions in fs-loader.h and for svn_fs_initialize(). */
-static apr_pool_t *common_pool;
-static svn_mutex__t *common_pool_lock;
+static apr_pool_t *common_pool = NULL;
+static svn_mutex__t *common_pool_lock = NULL;
 static svn_atomic_t common_pool_initialized = FALSE;
 
 
@@ -372,6 +372,9 @@ write_fs_type(const char *path, const ch
 static apr_status_t uninit(void *data)
 {
   common_pool = NULL;
+  common_pool_lock = NULL;
+  common_pool_initialized = 0;
+
   return APR_SUCCESS;
 }