dbus ChangeLog,1.632,1.633 HACKING,1.9,1.10

Havoc Pennington hp@freedesktop.org
Fri Jan 14 23:15:40 PST 2005


Update of /cvs/dbus/dbus
In directory gabe:/tmp/cvs-serv28195

Modified Files:
	ChangeLog HACKING 
Log Message:
2005-01-15  Havoc Pennington  <hp@redhat.com>

	* Land the new message args API and type system.

	This patch is huge, but the public API change is not 
	really large. The set of D-BUS types has changed somewhat, 
	and the arg "getters" are more geared toward language bindings;
	they don't make a copy, etc.

	There are also some known issues. See these emails for details
	on this huge patch:
	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
        http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
	
	* dbus/dbus-marshal-*: all the new stuff

	* dbus/dbus-message.c: basically rewritten

	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
	freed blocks to be all non-nul bytes so using freed memory is less
	likely to work right

	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
	DBUS_FAIL_MALLOC=N environment variable, so you can do
	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
	thorough.

	* qt/message.cpp: port to the new message args API
	(operator<<): use str.utf8() rather than str.unicode()
	(pretty sure this is right from the Qt docs?)

	* glib/dbus-gvalue.c: port to the new message args API

	* bus/dispatch.c, bus/driver.c: port to the new message args API

	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
	"locked" flag to TRUE and align_offset to 0; I guess we never
	looked at these anyhow, but seems cleaner.

	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
	move allocation padding macro to this header; use it to implement
	(_DBUS_STRING_STATIC): ability to declare a static string.

	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
	change to return TRUE if the interface is not set.

	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
	to dbus-marshal-validate.[hc]

	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
	dbus-internals.c

	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
	to dbus-marshal-*.[hc]

	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
	function here from dbus-marshal.c



Index: ChangeLog
===================================================================
RCS file: /cvs/dbus/dbus/ChangeLog,v
retrieving revision 1.632
retrieving revision 1.633
diff -u -d -r1.632 -r1.633
--- ChangeLog	12 Jan 2005 22:55:31 -0000	1.632
+++ ChangeLog	15 Jan 2005 07:15:38 -0000	1.633
@@ -1,3 +1,62 @@
+2005-01-15  Havoc Pennington  <hp@redhat.com>
+
+	* Land the new message args API and type system.
+
+	This patch is huge, but the public API change is not 
+	really large. The set of D-BUS types has changed somewhat, 
+	and the arg "getters" are more geared toward language bindings;
+	they don't make a copy, etc.
+
+	There are also some known issues. See these emails for details
+	on this huge patch:
+	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
+        http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
+	
+	* dbus/dbus-marshal-*: all the new stuff
+
+	* dbus/dbus-message.c: basically rewritten
+
+	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
+	freed blocks to be all non-nul bytes so using freed memory is less
+	likely to work right
+
+	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
+	DBUS_FAIL_MALLOC=N environment variable, so you can do
+	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
+	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
+	thorough.
+
+	* qt/message.cpp: port to the new message args API
+	(operator<<): use str.utf8() rather than str.unicode()
+	(pretty sure this is right from the Qt docs?)
+
+	* glib/dbus-gvalue.c: port to the new message args API
+
+	* bus/dispatch.c, bus/driver.c: port to the new message args API
+
+	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
+	"locked" flag to TRUE and align_offset to 0; I guess we never
+	looked at these anyhow, but seems cleaner.
+
+	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
+	move allocation padding macro to this header; use it to implement
+	(_DBUS_STRING_STATIC): ability to declare a static string.
+
+	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
+	change to return TRUE if the interface is not set.
+
+	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
+	to dbus-marshal-validate.[hc]
+
+	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
+	dbus-internals.c
+
+	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
+	to dbus-marshal-*.[hc]
+
+	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
+	function here from dbus-marshal.c
+
 2005-01-12  Joe Shaw  <joeshaw@novell.com>
 
 	* NEWS: Update for 0.23.

Index: HACKING
===================================================================
RCS file: /cvs/dbus/dbus/HACKING,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- HACKING	13 Jan 2005 01:22:04 -0000	1.9
+++ HACKING	15 Jan 2005 07:15:38 -0000	1.10
@@ -127,6 +127,17 @@
 than the specified number. This only works if D-BUS has been compiled with
 --enable-tests.
 
+DBUS_TEST_MALLOC_FAILURES=n
+Many of the D-BUS tests will run over and over, once for each malloc
+involved in the test. Each run will fail a different malloc, plus some
+number of mallocs following that malloc (because a fair number of bugs
+only happen if two or more mallocs fail in a row, e.g. error recovery
+that itself involves malloc).  This env variable sets the number of
+mallocs to fail.
+Here's why you care: If set to 0, then the malloc checking is skipped,
+which makes the test suite a heck of a lot faster. Just run with this
+env variable unset before you commit.
+
 Tests
 ===
 



More information about the dbus-commit mailing list