summaryrefslogtreecommitdiff
path: root/dbus
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-08-30 17:24:20 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-08-30 17:31:16 +0100
commit31edd76313922780fb640f13ad1b5ed130fe442b (patch)
tree56f8f8eddbcba74aada0d42b2958f231a2aa0987 /dbus
parentd98a587f766e00f50244cfa75008e75ee4af20f6 (diff)
downloaddbus-31edd76313922780fb640f13ad1b5ed130fe442b.tar.gz
Revert "Add a statically-initialized implementation of _dbus_lock() on glibc systems"
This reverts commit 83aaa9f359e90d3b8cae5d17f6d9ba4600cff68b. 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.
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-sysdeps-pthread.c47
-rw-r--r--dbus/dbus-threads-internal.h6
-rw-r--r--dbus/dbus-threads.c14
3 files changed, 0 insertions, 67 deletions
diff --git a/dbus/dbus-sysdeps-pthread.c b/dbus/dbus-sysdeps-pthread.c
index 2180c37b..1300ec35 100644
--- a/dbus/dbus-sysdeps-pthread.c
+++ b/dbus/dbus-sysdeps-pthread.c
@@ -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
diff --git a/dbus/dbus-threads-internal.h b/dbus/dbus-threads-internal.h
index 228a8c05..64e8bac0 100644
--- a/dbus/dbus-threads-internal.h
+++ b/dbus/dbus-threads-internal.h
@@ -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.
diff --git a/dbus/dbus-threads.c b/dbus/dbus-threads.c
index 45b262dc..12d40493 100644
--- a/dbus/dbus-threads.c
+++ b/dbus/dbus-threads.c
@@ -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 */
/**