summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2006-11-19 17:32:33 +0000
committerDoug Goldstein <cardoe@gentoo.org>2006-11-19 17:32:33 +0000
commit83fbbb46e5027e1ece1e004bf6a5f386a3eec218 (patch)
tree586b91ba14e703054de0faa5d5e3ec082bdcd4ef /sys-apps/dbus/files
parentRemove old versions (diff)
downloadgentoo-2-83fbbb46e5027e1ece1e004bf6a5f386a3eec218.tar.gz
gentoo-2-83fbbb46e5027e1ece1e004bf6a5f386a3eec218.tar.bz2
gentoo-2-83fbbb46e5027e1ece1e004bf6a5f386a3eec218.zip
pthreads assertion fix from upstream
(Portage version: 2.1.2_rc2)
Diffstat (limited to 'sys-apps/dbus/files')
-rw-r--r--sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff36
-rw-r--r--sys-apps/dbus/files/dbus.init-1.050
-rw-r--r--sys-apps/dbus/files/digest-dbus-1.0.1-r13
3 files changed, 89 insertions, 0 deletions
diff --git a/sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff b/sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff
new file mode 100644
index 000000000000..4ac2260d3f37
--- /dev/null
+++ b/sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff
@@ -0,0 +1,36 @@
+Index: dbus-sysdeps-pthread.c
+===================================================================
+RCS file: /cvs/dbus/dbus/dbus/dbus-sysdeps-pthread.c,v
+retrieving revision 1.5
+diff -u -p -B -b -r1.5 dbus-sysdeps-pthread.c
+--- dbus/dbus-sysdeps-pthread.c 28 Oct 2006 01:41:37 -0000 1.5
++++ dbus/dbus-sysdeps-pthread.c 19 Nov 2006 12:40:47 -0000
+@@ -153,6 +153,7 @@ _dbus_pthread_mutex_lock (DBusMutex *mut
+ {
+ /* Wait for the lock */
+ PTHREAD_CHECK ("pthread_mutex_lock", pthread_mutex_lock (&pmutex->lock));
++ pmutex->holder = self;
+ _dbus_assert (pmutex->count == 0);
+ }
+
+@@ -222,10 +223,11 @@ _dbus_pthread_condvar_wait (DBusCondVar
+ _dbus_assert (pthread_equal (pmutex->holder, pthread_self ()));
+
+ old_count = pmutex->count;
+- pmutex->count = 0;
++ pmutex->count = 0; /* allow other threads to lock */
+ PTHREAD_CHECK ("pthread_cond_wait", pthread_cond_wait (&pcond->cond, &pmutex->lock));
+ _dbus_assert (pmutex->count == 0);
+ pmutex->count = old_count;
++ pmutex->holder = pthread_self(); /* other threads may have locked the mutex in the meantime */
+ }
+
+ static dbus_bool_t
+@@ -264,6 +266,7 @@ _dbus_pthread_condvar_wait_timeout (DBus
+
+ _dbus_assert (pmutex->count == 0);
+ pmutex->count = old_count;
++ pmutex->holder = pthread_self(); /* other threads may have locked the mutex in the meantime */
+
+ /* return true if we did not time out */
+ return result != ETIMEDOUT;
diff --git a/sys-apps/dbus/files/dbus.init-1.0 b/sys-apps/dbus/files/dbus.init-1.0
new file mode 100644
index 000000000000..ff24f2d53ac7
--- /dev/null
+++ b/sys-apps/dbus/files/dbus.init-1.0
@@ -0,0 +1,50 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/files/dbus.init-1.0,v 1.1 2006/11/19 17:32:33 cardoe Exp $
+
+opts="reload"
+
+depend() {
+ after nscd dns
+}
+
+start() {
+ ebegin "Starting D-BUS system messagebus"
+
+ /usr/bin/dbus-uuidgen --ensure
+
+ # We need to test if /var/run/dbus exists, since script will fail if it does not
+ [[ ! -e /var/run/dbus ]] && mkdir /var/run/dbus
+
+ start-stop-daemon --start --pidfile /var/run/dbus.pid --exec /usr/bin/dbus-daemon -- --system
+ eend $?
+}
+
+stop() {
+ local retval
+
+ ebegin "Stopping D-BUS system messagebus"
+
+ start-stop-daemon --stop --pidfile /var/run/dbus.pid
+ retval=$?
+
+ eend ${retval}
+
+ [[ -S /var/run/dbus/system_bus_socket ]] && rm -f /var/run/dbus/system_bus_socket
+
+ return ${retval}
+}
+
+reload() {
+ local retval
+
+ ebegin "Reloading D-BUS messagebus config"
+
+ /usr/bin/dbus-send --print-reply --system --type=method_call \
+ --dest=org.freedesktop.DBus \
+ / org.freedesktop.DBus.ReloadConfig > /dev/null
+ retval=$?
+ eend ${retval}
+ return ${retval}
+}
diff --git a/sys-apps/dbus/files/digest-dbus-1.0.1-r1 b/sys-apps/dbus/files/digest-dbus-1.0.1-r1
new file mode 100644
index 000000000000..7660510d0186
--- /dev/null
+++ b/sys-apps/dbus/files/digest-dbus-1.0.1-r1
@@ -0,0 +1,3 @@
+MD5 52c70d18fe0b398f5de3b8a18a589960 dbus-1.0.1.tar.gz 1406595
+RMD160 2270f27d9314f0e7b99540f0aa1902b8d0d7343d dbus-1.0.1.tar.gz 1406595
+SHA256 6e0730a39485fb502d640841f0f328c1a0212743f17b3fa61c78e6e32925f061 dbus-1.0.1.tar.gz 1406595