Checkout
stefan2
committed
on 20 Aug 14
Remove the "checked" option from svn_mutex_t. Update all callers
and remove the regression test.

The reason is that there seems to be no p… Show more
Remove the "checked" option from svn_mutex_t.  Update all callers

and remove the regression test.

The reason is that there seems to be no portable way (e.g. via a

series of conversions) to use APR atomic CAS operations with

apr_os_thread_t.

* subversion/include/private/svn_mutex.h

 (svn_mutex__init): Remove CHECKED option.

* subversion/include/svn_error_codes.h

 (SVN_ERR_RECURSIVE_LOCK): Remove as it has no users anymore.

 (SVN_ERR_INVALID_INPUT): Update number.

* subversion/libsvn_subr/mutex.c

 (svn_mutex__t): Remove all aux. members that were used for mutex

                 checking only.  Make sure we don't end up with an

                 empty struct on systems that don't support threads.

 (svn_mutex__init,

  svn_mutex__lock,

  svn_mutex__unlock): Remove all mutex the checking code.

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

 (never_reached,

  lock_again,

  recursive_locking): Remove test case for "checked" mutexes.

 (test_funcs): Remove test from list.

* subversion/libsvn_fs_base/bdb/env.c

 (bdb_init_cb): Update mutex init call.

* subversion/libsvn_fs_fs/fs.c

 (fs_serialized_init): Same.

* subversion/libsvn_fs/fs-loader.c

 (synchronized_initialize): Same.

* subversion/libsvn_fs_x/fs.c

 (x_serialized_init): Same.

* subversion/libsvn_ra_svn/cyrus_auth.c

 (sasl_mutex_alloc_cb_internal,

  svn_ra_svn__sasl_common_init): Same.

* subversion/libsvn_subr/cache-inprocess.c

 (svn_cache__create_inprocess): Same.

* subversion/libsvn_subr/cache-membuffer.c

 (svn_cache__membuffer_cache_create,

  svn_cache__create_membuffer_cache): Same.

* subversion/libsvn_subr/dso.c

 (svn_dso_initialize2): Same.

* subversion/libsvn_subr/named_atomic.c

 (init_thread_mutex): Same.

* subversion/libsvn_subr/object_pool.c

 (svn_object_pool__create): Same.

* subversion/libsvn_subr/root_pools.c

 (svn_root_pools__create): Same.

* subversion/libsvn_subr/utf.c

 (svn_utf_initialize2): Same.

* subversion/svnserve/logger.c

 (logger__create_for_stderr,

  logger__create): Same.

* subversion/tests/svn_test_main.c

 (svn_test_main): Same. Show less