[maemo-commits] [maemo-commits] r12792 - in projects/haf/trunk/dbus/debian: . patches

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Jul 23 17:46:34 EEST 2007
Author: kihamala
Date: 2007-07-23 17:46:31 +0300 (Mon, 23 Jul 2007)
New Revision: 12792

Added:
   projects/haf/trunk/dbus/debian/patches/12-fix-unlocked-access.patch
   projects/haf/trunk/dbus/debian/patches/13-fix-connection-locks.patch
Modified:
   projects/haf/trunk/dbus/debian/changelog
   projects/haf/trunk/dbus/debian/rules
Log:
cherry-picked some fixes from the CVS + Leonid's hard-float patch


Modified: projects/haf/trunk/dbus/debian/changelog
===================================================================
--- projects/haf/trunk/dbus/debian/changelog	2007-07-23 14:33:12 UTC (rev 12791)
+++ projects/haf/trunk/dbus/debian/changelog	2007-07-23 14:46:31 UTC (rev 12792)
@@ -1,3 +1,14 @@
+dbus (1.0.2-0osso9) experimental; urgency=low
+
+  * UNRELEASED
+  * Fix from the CVS for upstream bug
+    https://bugs.freedesktop.org/show_bug.cgi?id=9164.
+  * Fix from the CVS for a connection lock bug (separate bits in a bitfield
+    used as locks).
+  * Patch from Leonid to enable hard-floats. Fixes: NB#61974
+
+ -- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>  Mon, 23 Jul 2007 17:31:21 +0300
+
 dbus (1.0.2-0osso8) experimental; urgency=low
 
   * Removed condition from adding messagebus to the dialout group.

Added: projects/haf/trunk/dbus/debian/patches/12-fix-unlocked-access.patch
===================================================================
--- projects/haf/trunk/dbus/debian/patches/12-fix-unlocked-access.patch	2007-07-23 14:33:12 UTC (rev 12791)
+++ projects/haf/trunk/dbus/debian/patches/12-fix-unlocked-access.patch	2007-07-23 14:46:31 UTC (rev 12792)
@@ -0,0 +1,29 @@
+diff -pur dbus-1.0.2/dbus/dbus-message.c dbus-1.0.2.new/dbus/dbus-message.c
+--- dbus-1.0.2/dbus/dbus-message.c	2006-12-11 21:21:18.000000000 +0200
++++ dbus-1.0.2.new/dbus/dbus-message.c	2007-07-23 17:28:58.150386960 +0300
+@@ -482,10 +482,10 @@ dbus_message_get_cached (void)
+   _dbus_assert (i < MAX_MESSAGE_CACHE_SIZE);
+   _dbus_assert (message != NULL);
+ 
+-  _DBUS_UNLOCK (message_cache);
+-
+   _dbus_assert (message->refcount.value == 0);
+   _dbus_assert (message->size_counters == NULL);
++  
++  _DBUS_UNLOCK (message_cache);
+ 
+   return message;
+ }
+@@ -571,10 +571,10 @@ dbus_message_cache_or_finalize (DBusMess
+ #endif
+ 
+  out:
+-  _DBUS_UNLOCK (message_cache);
+-
+   _dbus_assert (message->refcount.value == 0);
+   
++  _DBUS_UNLOCK (message_cache);
++  
+   if (!was_cached)
+     dbus_message_finalize (message);
+ }

Added: projects/haf/trunk/dbus/debian/patches/13-fix-connection-locks.patch
===================================================================
--- projects/haf/trunk/dbus/debian/patches/13-fix-connection-locks.patch	2007-07-23 14:33:12 UTC (rev 12791)
+++ projects/haf/trunk/dbus/debian/patches/13-fix-connection-locks.patch	2007-07-23 14:46:31 UTC (rev 12792)
@@ -0,0 +1,21 @@
+diff -pur dbus-1.0.2/dbus/dbus-connection.c dbus-1.0.2.new/dbus/dbus-connection.c
+--- dbus-1.0.2/dbus/dbus-connection.c	2006-12-11 21:21:08.000000000 +0200
++++ dbus-1.0.2.new/dbus/dbus-connection.c	2007-07-23 17:37:13.831032048 +0300
+@@ -281,10 +281,14 @@ struct DBusConnection
+ 
+   char *server_guid; /**< GUID of server if we are in shared_connections, #NULL if server GUID is unknown or connection is private */
+ 
++  /* These two MUST be bools and not bitfields, because they are protected by a separate lock
++   * from connection->mutex and all bitfields in a word have to be read/written together.
++   * So you can't have a different lock for different bitfields in the same word.
++   */
++  dbus_bool_t dispatch_acquired; /**< Someone has dispatch path (can drain incoming queue) */
++  dbus_bool_t io_path_acquired;  /**< Someone has transport io path (can use the transport to read/write messages) */
++  
+   unsigned int shareable : 1; /**< #TRUE if libdbus owns a reference to the connection and can return it from dbus_connection_open() more than once */
+-
+-  unsigned int dispatch_acquired : 1; /**< Someone has dispatch path (can drain incoming queue) */
+-  unsigned int io_path_acquired : 1;  /**< Someone has transport io path (can use the transport to read/write messages) */
+   
+   unsigned int exit_on_disconnect : 1; /**< If #TRUE, exit after handling disconnect signal */
+ 

Modified: projects/haf/trunk/dbus/debian/rules
===================================================================
--- projects/haf/trunk/dbus/debian/rules	2007-07-23 14:33:12 UTC (rev 12791)
+++ projects/haf/trunk/dbus/debian/rules	2007-07-23 14:46:31 UTC (rev 12792)
@@ -13,10 +13,15 @@
 include /usr/share/cdbs/1/rules/tarball.mk
 
 CFLAGS=-Wall -fPIC -O2 -g
-# Use soft-float and thumb mode if it is enabled.
+# Prefer hardware floating point if enabled
+ifneq (,$(findstring vfp,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -mfpu=vfp -mfloat-abi=softfp
+else
+# Use soft-float and thumb mode if it enabled.
 ifneq (,$(findstring thumb,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -mthumb
 endif
+endif
 
 # List any files which are not installed
 common-binary-post-install-arch:: list-missing


More information about the maemo-commits mailing list