- Update to 1.0.1

- Apply patch from Thiago Macieira <thiago@kde.org> to fix failed assertion
    in threading implementation
- Drop some crazy looking build time speed optimization
This commit is contained in:
Ray Strode 2006-11-20 19:03:07 +00:00
parent db4538790b
commit 3887781d07
2 changed files with 50 additions and 23 deletions

View File

@ -0,0 +1,32 @@
--- dbus-1.0.1/dbus/dbus-sysdeps-pthread.c 28 Oct 2006 01:41:37 -0000 1.5
+++ dbus-1.0.1/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;

View File

@ -7,10 +7,10 @@
Summary: D-BUS message bus
Name: dbus
Version: 1.0.0
Release: 2%{?dist}
Version: 1.0.1
Release: 1%{?dist}
URL: http://www.freedesktop.org/software/dbus/
Source0: %{name}-%{version}.tar.gz
Source0: http://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz
License: AFL/GPL
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-root
@ -29,10 +29,10 @@ Requires: libxml2-python
Conflicts: cups < 1:1.1.20-4
Patch2: dbus-0.61-selinux-avc-audit.patch
Patch3: dbus-0.60-start-early.patch
Patch4: dbus-0.92-audit-system.patch
Patch5: dbus-1.0.0-thread.patch
Patch0: dbus-0.61-selinux-avc-audit.patch
Patch1: dbus-0.60-start-early.patch
Patch2: dbus-0.92-audit-system.patch
Patch3: dbus-1.0.1-pthread-holder-fix.patch
%description
@ -63,29 +63,18 @@ in this separate package so server systems need not install X.
%prep
%setup -q
%patch2 -p1 -b .selinux-avc-audit
%patch3 -p1 -b .start-early
%patch4 -p1 -b .audit_system
%patch5 -p0 -b .thread
%patch0 -p1 -b .selinux-avc-audit
%patch1 -p1 -b .start-early
%patch2 -p1 -b .audit_system
%patch3 -p1 -b .pthread-holder-fix
autoreconf -f -i
%build
COMMON_ARGS="--enable-libaudit --enable-selinux=yes --with-init-scripts=redhat --with-system-pid-file=%{_localstatedir}/run/messagebus.pid --with-dbus-user=%{dbus_user_uid} --libdir=/%{_lib} --bindir=/bin --sysconfdir=/etc --exec-prefix=/"
### this is some crack because bits of dbus can be
### smp-compiled but others don't feel like working
function make_fast() {
### try to burn through it with SMP a couple times
make %{?_smp_mflags} || true
make %{?_smp_mflags} || true
### then do a real make and don't ignore failure
DBUS_VERBOSE=1 make
}
#### Build once with tests to make check
%configure $COMMON_ARGS --enable-tests=yes --enable-verbose-mode=yes --enable-asserts=yes
make_fast
DBUS_VERBOSE=1 make
#### Clean up and build again
make clean
@ -173,6 +162,12 @@ fi
%{_includedir}/*
%changelog
* Mon Nov 20 2006 Ray Strode <rstrode@redhat.com> - 1.0.1-1
- Update to 1.0.1
- Apply patch from Thiago Macieira <thiago@kde.org> to
fix failed assertion in threading implementation
- Drop some crazy looking build time speed optimization
* Tue Nov 14 2006 John (J5) Palmieri <johnp@redhat.com> - 1.0.0-2
- add patch to fix dbus_threads_init_default