Revert "Add a statically-initialized implementation of _dbus_lock() on glibc systems"

This reverts commit 83aaa9f359.

This wasn't right: because it looked for a symbol from pthread.h,
modules could end up disagreeing about whether threading was enabled or
not.
This commit is contained in:
Simon McVittie 2013-08-30 17:24:20 +01:00
parent d98a587f76
commit 31edd76313
3 changed files with 0 additions and 67 deletions

View file

@ -300,50 +300,3 @@ _dbus_threads_unlock_platform_specific (void)
{
pthread_mutex_unlock (&init_mutex);
}
#ifdef DBUS_HAVE_STATIC_RECURSIVE_MUTEXES
static pthread_mutex_t global_locks[] = {
/* 0-4 */
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
/* 5-9 */
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
/* 10-11 */
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
};
_DBUS_STATIC_ASSERT (_DBUS_N_ELEMENTS (global_locks) == _DBUS_N_GLOBAL_LOCKS);
dbus_bool_t
_dbus_lock (DBusGlobalLock lock)
{
/* No initialization is needed. */
_dbus_assert (lock >= 0);
_dbus_assert (lock < _DBUS_N_GLOBAL_LOCKS);
PTHREAD_CHECK ("pthread_mutex_lock",
pthread_mutex_lock (&(global_locks[lock])));
return TRUE;
}
void
_dbus_unlock (DBusGlobalLock lock)
{
/* No initialization is needed. */
_dbus_assert (lock >= 0);
_dbus_assert (lock < _DBUS_N_GLOBAL_LOCKS);
PTHREAD_CHECK ("pthread_mutex_unlock",
pthread_mutex_unlock (&(global_locks[lock])));
}
#endif

View file

@ -32,12 +32,6 @@
* @{
*/
/* glibc can implement global locks without needing an initialization step,
* which improves our thread-safety-by-default further. */
#if defined(__GLIBC__) && defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
# define DBUS_HAVE_STATIC_RECURSIVE_MUTEXES 1
#endif
/**
* A mutex which is recursive if possible, else non-recursive.
* This is typically recursive, but that cannot be relied upon.

View file

@ -283,18 +283,6 @@ _dbus_condvar_wake_one (DBusCondVar *cond)
_dbus_platform_condvar_wake_one (cond);
}
#ifdef DBUS_HAVE_STATIC_RECURSIVE_MUTEXES
static dbus_bool_t
init_global_locks (void)
{
return TRUE;
}
/* implementations in dbus-sysdeps-pthread.c */
#else /* !defined(DBUS_HAVE_STATIC_RECURSIVE_MUTEXES) */
static DBusRMutex *global_locks[_DBUS_N_GLOBAL_LOCKS] = { NULL };
static void
@ -368,8 +356,6 @@ _dbus_unlock (DBusGlobalLock lock)
_dbus_platform_rmutex_unlock (global_locks[lock]);
}
#endif /* !defined(DBUS_HAVE_STATIC_RECURSIVE_MUTEXES) */
/** @} */ /* end of internals */
/**