1. 31 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-30 Havoc Pennington <hp@pobox.com> · bc86794f
      Havoc Pennington authored
      	* bus/config-parser.c: hacking
      
      	* dbus/dbus-memory.c: don't use DBusList for the list of stuff
      	to shut down, since it could cause weirdness with the DBusList
      	lock
      
      	* dbus/dbus-list.c (_dbus_list_test): add tests for the
      	link-oriented stack routines
      	(alloc_link): free the mempool if the first alloc from it fails
      
      	* dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
      
      	* dbus/dbus-string.c (UNICODE_VALID): sync new version of this
      	from GLib
      	(_dbus_string_skip_white): new
      
      	* doc/config-file.txt (Elements): add <includedir>
      bc86794f
  2. 24 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-23 Havoc Pennington <hp@pobox.com> · c3af5ccd
      Havoc Pennington authored
      	* dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
      	DBUS_BUILD_TESTS, actually alloc/free a block of memory for
      	the mutex, so we can check for proper memory management
      	and OOM handling.
      
      	* dbus/dbus-dataslot.c: remove the mutex from
      	DBusDataSlotAllocator and lock it manually when using it,
      	to simplify fitting it into the global slots framework.
      
      	* dbus/dbus-threads.c (init_static_locks): rework how we're
      	handling global locks so they are easily shut down.
      
      	* bus/policy.c (bus_policy_append_rule): fix
      
      	* bus/test-main.c (main): check for memleaks
      
      	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
      	test suite check for memleaks
      
      	* dbus/dbus-memory.c: add support in test mode for tracking
      	number of outstanding blocks
      c3af5ccd
  3. 16 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · ce173b29
      Havoc Pennington authored
      	Oops - test code was only testing failure of around 30 of the
      	mallocs in the test path, but it turns out there are 500+
      	mallocs. I believe this was due to misguided linking setup such
      	that there was one copy of dbus_malloc etc. in the daemon and one
      	in the shared lib, and only daemon mallocs were tested. In any
      	case, the test case now tests all 500+ mallocs, and doesn't pass
      	yet, though there are lots of fixes in this patch.
      
      	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
      	this so that it doesn't need to allocate memory, since it
      	has no way of indicating failure due to OOM (and would be
      	annoying if it did).
      
      	* dbus/dbus-list.c (_dbus_list_pop_first_link): new function
      
      	* bus/Makefile.am: rearrange to create two self-contained
      	libraries, to avoid having libraries with overlapping symbols.
      	that was resulting in weirdness, e.g. I'm pretty sure there
      	were two copies of global static variables.
      
      	* dbus/dbus-internals.c: move the malloc debug stuff to
      	dbus-memory.c
      
      	* dbus/dbus-list.c (free_link): free list mempool if it becomes
      	empty.
      
      	* dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
      
      	* dbus/dbus-address.c (dbus_parse_address): free list nodes
      	on failure.
      
      	* bus/dispatch.c (bus_dispatch_add_connection): free
      	message_handler_slot when no longer using it, so
      	memory leak checkers are happy for the test suite.
      
      	* dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
      
      	* bus/bus.c (new_connection_callback): disconnect in here if
      	bus_connections_setup_connection fails.
      
      	* bus/connection.c (bus_connections_unref): fix to free the
      	connections
      	(bus_connections_setup_connection): if this fails, don't
      	disconnect the connection, just be sure there are no side
      	effects.
      
      	* dbus/dbus-string.c (undo_alignment): unbreak this
      
      	* dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
      	leaking
      	(_dbus_auth_new): fix the order in which we free strings
      	on OOM failure
      
      	* bus/connection.c (bus_connection_disconnected): fix to
      	not send ServiceDeleted multiple times in case of memory
      	allocation failure
      
      	* dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
      	get the base service name
      	(dbus_bus_register_client): don't return base service name,
      	instead store it on the DBusConnection and have an accessor
      	function for it.
      	(dbus_bus_register_client): rename dbus_bus_register()
      
      	* bus/dispatch.c (check_hello_message): verify that other
      	connections on the bus also got the correct results, not
      	just the one sending hello
      ce173b29
  4. 26 Feb, 2003 1 commit
    • Havoc Pennington's avatar
      2003-02-26 Havoc Pennington <hp@pobox.com> · 72654234
      Havoc Pennington authored
      	* dbus/dbus-connection.c
      	(dbus_connection_send_message_with_reply_and_block): fix crash
      	where we ref'd the outgoing message instead of the returned reply
      
      	* dbus/dbus-transport-unix.c (do_authentication): check read watch
      	at the end of this function, so if we didn't need to read for
      	authentication, we reinstall it for receiving messages
      
      	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
      	a NULL sender for peer-to-peer case
      
      	* dbus/dbus-transport-unix.c (check_read_watch): handle
      	!authenticated case correctly
      
      	* glib/dbus-gmain.c: add support for DBusServer
      
      	* dbus/dbus-server.c: add data slot support
      
      	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
      	return values and handle errors
      
      	* dbus/dbus-dataslot.c: factor out the data slot stuff from
      	DBusConnection
      
      	* Doxyfile.in (INPUT): add glib subdir
      
      	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
      	setup_with_g_main instead of hookup_with_g_main; write docs
      72654234
  5. 20 Feb, 2003 1 commit
    • Havoc Pennington's avatar
      2003-02-19 Havoc Pennington <hp@pobox.com> · 6b40feaf
      Havoc Pennington authored
      	* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
      	Doxyfile.in, not Doxyfile
      
      	* dbus/dbus-keyring.c: do some hacking on this
      
      	* dbus/dbus-sysdeps.c (_dbus_delete_file): new
      
      	* dbus/dbus-errors.c (dbus_set_error_const): do not call
      	dbus_error_init
      	(dbus_set_error): remove dbus_error_init, check for message ==
      	NULL *before* we sprintf into it, and add @todo about including
      	system headers in this file
      
      	* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
      
      	* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
      
      	* dbus/dbus-sysdeps.c (get_user_info): break this function out to
      	get various bits of user information based on either username
      	or user ID
      	(_dbus_homedir_from_username): new function
      6b40feaf
  6. 19 Feb, 2003 1 commit
    • Havoc Pennington's avatar
      2003-02-19 Havoc Pennington <hp@pobox.com> · c21511c0
      Havoc Pennington authored
      	Throughout: mop up all the Doxygen warnings and undocumented
      	stuff.
      
      	* dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
      	to search any paths.
      
      	* dbus/dbus-threads.c: move global mutex initializers to
      	dbus-internals.h, multiple prototypes was confusing doxygen
      	besides being kind of ugly
      
      	* Doxyfile (PREDEFINED): have Doxygen define
      	DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
      	docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
      	(do not abuse the feature! it's for stuff like the autogenerated
      	macros in dbus-md5.c, not just for things you don't feel like
      	documenting...)
      c21511c0
  7. 16 Feb, 2003 1 commit
    • Anders Carlsson's avatar
      2003-02-16 Anders Carlsson <andersca@codefactory.se> · bf07fc88
      Anders Carlsson authored
      	* dbus/dbus-auth.c: (client_try_next_mechanism):
      	Plug a leak.
      
      	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
      	Return TRUE if there's no thread implementation around.
      
      	* glib/dbus-gmain.c: (free_source),
      	(dbus_connection_hookup_with_g_main):
      	Make sure to remove the GSource when the connection is finalized.
      bf07fc88
  8. 15 Feb, 2003 1 commit
    • Alexander Larsson's avatar
      2003-02-15 Alexander Larsson <alexl@redhat.com> · fe401894
      Alexander Larsson authored
      	* dbus/dbus-threads.c:
      	* dbus/dbus-threads.h:
      	Add condvars. Remove static mutext from API.
      	Implement static mutexes by initializing them from threads_init.
      
      	* glib/dbus-gthread.c:
      	* qt/dbus-qthread.cpp:
      	Update with the thread api changes.
      
      
      	* dbus/dbus-list.c:
      	* dbus/dbus-list.h:
      	Turn StaticMutex into normal mutex + init function.
      	Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
      	_dbus_list_append_link, _dbus_list_prepend_link
      
      
      	* dbus/dbus-sysdeps.c:
      	* dbus/dbus-sysdeps.h:
      	New type dbus_atomic_t, and new functions _dbus_atomic_inc,
      	_dbus_atomic_dec. Only slow fallback implementation at the moment.
      
      	* dbus/dbus-protocol.h:
      	Add DBUS_MESSAGE_LOCAL_DISCONNECT define
      
      	* dbus/dbus-message.c:
      	Make ref/unref atomic.
      	Fix some docs.
      
      	* dbus/dbus-connection-internal.h:
      	* dbus/dbus-connection.c:
      	* dbus/dbus-connection.h:
      	Make threadsafe.
      	Change _peek to _borrow,_return & _steal_borrowed.
      	Change disconnect callback to event.
      	Make dbus_connection_dispatch_messages reentrant.
      
      	* dbus/dbus-transport.c:
      	Don't ref the connection on calls to the transport
      	implementation.
      
      	* dbus/dbus-message-handler.c:
      	Make threadsafe.
      
      	* glib/dbus-gmain.c:
      	Don't use peek_message anymore
      
      	* test/Makefile.am:
      	* test/debug-thread.c:
      	* test/debug-thread.h:
      	Simple thread implementation that asserts() on deadlocks in
      	single-threaded code.
      
      	* test/bus-test.c:
      	(main) Call debug_threads_init.
      
      	* test/watch.c:
      	Use disconnect message instead of disconnect callback.
      
      	* bus/connection.c:
      	* bus/connection.h:
      	Don't call dbus_connection_set_disconnect_function. Instead export
      	bus_connection_disconnect.
      
      	* bus/dispatch.c:
      	Call bus_connection_disconnect when we get a disconnected message.
      fe401894
  9. 06 Jan, 2003 2 commits
    • Havoc Pennington's avatar
    • Havoc Pennington's avatar
      2003-01-05 Havoc Pennington <hp@pobox.com> · 96a9f803
      Havoc Pennington authored
      	* bus/connection.c: implement routines for handling connections,
      	first thing is keeping a list of owned services on each connection
      	and setting up watches etc.
      
      	* bus/services.c: implement a mapping from service names to lists
      	of connections
      
      	* dbus/dbus-hash.c: add DBUS_HASH_POINTER
      
      	* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
      	to use static mutexes for global data
      
      	* dbus/dbus-connection.c (dbus_connection_set_data): add new
      	collection of functions to set/get application-specific data
      	on the DBusConnection.
      96a9f803
  10. 15 Dec, 2002 1 commit
    • Havoc Pennington's avatar
      2002-12-15 Havoc Pennington <hp@pobox.com> · a0e550bc
      Havoc Pennington authored
      	* dbus/dbus-threads.c: add thread stubs that a higher library
      	layer can fill in. e.g. the GLib wrapper might fill them in with
      	GThread stuff. We still need to use this thread API to
      	thread-safe-ize the library.
      a0e550bc