Commit graph

1136 commits

Author SHA1 Message Date
John (J5) Palmieri
14cc7d28a8 * dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
static DBusList *uninitialized_condvar_list to support new late
        initialization threading model.  In this model threads can be initialized
        even after the D-Bus API has been used but still needs to be initialized
        before the second thread has been started.  Mutexes and condvar addresses
        are stored in the two static lists and are replaced with actuall locks
        when threads are initalized.
        (_dbus_mutex_new_at_location): New method for creating a mutex and placing
        the location into the static list
        (_dbus_mutex_free_at_location): New method for removing a mutex location
        from the static list and freeing the mutex
        (_dbus_condvar_new_at_location): New method for creating a conditional
        variable and placing the location into the static list
        (_dbus_condvar_free_at_location): New method for removing a conditional
        variable location from the static list and freeing the conditional variable
        (init_uninitialized_locks): Atomic method which goes through the static
        lists of mutex and condvar location and updates them with actuall locks
        (init_global_locks): changed to init_locks

        * dbus/dbus-connection.c:
        (_dbus_connection_test_get_locks): New method for tests to check connections
        (_dbus_connection_new_for_transport): Use the new at_location mutex and
        condvar API
        (dbus_connection_allocate_data_slot): Pass in the global lock address
        to _dbus_data_slot_allocator_alloc

        * dbus/dbus-dataslot.c:
        (_dbus_data_slot_allocator_alloc): Use the address of the mutex
        instead of the mutex itself

        * dbus/dbus-message.c:
        (dbus_message_allocate_data_slot): Pass in the global lock address
        to _dbus_data_slot_allocator_alloc

        * dbus/dbus-pending-call.c:
        (dbus_pending_call_allocate_data_slot): Pass in the global lock address
        to _dbus_data_slot_allocator_alloc

        * dbus/dbus-server.c:
        (_dbus_server_init_base): Use the new at_location mutex API
        (dbus_server_allocate_data_slot): Pass in the global lock address
        to _dbus_data_slot_allocator_alloc

        * test/name-test/test-threads-init.c: New test case for late thread
        initialization
2006-08-16 22:30:15 +00:00
John (J5) Palmieri
5b5da52975 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
        causes compile problems when asserts are turned off
        Keeping _dbus_warn for printing out the message so even if
        asserts are turned off the user gets the messages that something is
        wrong
2006-08-14 19:33:20 +00:00
John (J5) Palmieri
c1091cbbd2 Patches by Kjartan Maraas <kmaraas at gnome dot org>
* bus/services.c (bus_service_list_queued_owners):
        Add a pointer cast to fix compiler warning

        * dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
        return a NULL instead of FALSE since the return type
        is not expecting a boolean

        * dbus/dbus-marshal-basic.c (_dbus_marshal_test):
        Remove unused variable

        * dbus/dbus-marshal-recursive-util.c (node_new):
        return a NULL instead of FALSE since the return type
        is not expecting a boolean

        * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
        Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
        because we are expecting a pointer not a boolean

        * dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir):
        add void as the parameter so some compilers
        don't complain

        * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
          _dbus_transport_new_for_tcp_socket):
        Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
        because we are expecting a pointer not a boolean

        * test/shell-test.c (test_command_line):
        cast the second argument to _dbus_list_append to avoid compiler
        warnings

        * test/test-names.c (main): remove unused variable

        * test/test-service.c (check_hello_from_self_reply):
        Initialize echo_message and echo_reply to NULL

        * test/test-shell-service.c (handle_echo):
        Remove unused variable and cast the third parameter passed to
        dbus_connection_get_object_path_data to avoid compiler warrnings

        * test/name-test/test-names.c (clear_message_queue):
        Remove unused function

        * test/name-test/test-pending-call-dispatch.c:
        Fix format string in printf
2006-08-14 19:11:35 +00:00
John (J5) Palmieri
2592a2abb2 * dbus/dbus-bus.c:
* test/name-test/test-names.c:
        Remove test method dbus_bus_connection_get_unique_name because
        we already have public method dbus_bus_get_unique_name that
        does the exact same thing
2006-08-14 18:12:20 +00:00
John (J5) Palmieri
b3b725b113 * fix typos in Julio's previous patch which cause make check to fail 2006-08-11 22:13:34 +00:00
John (J5) Palmieri
048c76d779 * dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.
In any case it was wrong since this is a test checking to see if
  address parsing is correct.  There was no need to get the true
  tmp directory.
2006-08-10 23:03:29 +00:00
John (J5) Palmieri
42319b9d10 * dbus/dbus-macros.h: Revert the addition of stddef.h
as we should not be adding it to library headers
2006-08-10 22:58:05 +00:00
John (J5) Palmieri
2c17f3dc1f * dbus/dbus-signature.c:
Fix the unit tests so that they work if assertions are not enabled.
  (patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
2006-08-10 21:50:23 +00:00
John (J5) Palmieri
47ec532cf2 * tools/run-with-tmp-session-bus.sh:
* test/name-test/run-test.sh:
  Remove bashisms (patch from Julio M. Merino Vidal
  <jmmv at NetBSD dot org>)
2006-08-10 21:44:00 +00:00
John (J5) Palmieri
1226611195 * configure.in: add a version (>= 2.6.0) check for libxml2 2006-08-10 21:22:33 +00:00
John (J5) Palmieri
1eba6a2bf0 * configure.in: make sure the compiler supports -Wfloat-equal
* bus/dir-watch-dnotify.c: move functional code after
  variable declerations (C99 fix)  (patches from Jens Granseuer
  <jensgr at gmx dot net>
2006-08-10 21:00:30 +00:00
John (J5) Palmieri
6f8d6a591f * dbus/dbus-macros.h:
add #include <stddef.h> so that Sun compilers don't complain about
  the defining NULL
2006-08-10 20:31:20 +00:00
John (J5) Palmieri
2974c82428 * dbus/dbus-sysdeps.c:
* dbus/dbus-address.c:
* bus/activation.c:
* test/shell-test.c:
  don't hardcode tmp directory (patch from Dave Meikle
  <dmk at davemeikle dot co dot uk>)
2006-08-10 20:09:43 +00:00
John (J5) Palmieri
5628ef82de * Change an assert to a detailed warning and abort.
When allocator->lock != mutex it indicates that the user has failed
  to initalize threads before using the D-Bus library.  This warning
  helps the user identify the issue and fix their app.
2006-08-09 19:45:24 +00:00
John (J5) Palmieri
9a3145b9f3 These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
with cleanups of bugs found from Coverity reports:

* dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
  close the file on error to avoid a leak

* bus/expirelist.c (bus_expire_list_test):
  Check for NULL on dbus_new0

* bus/activation.c (update_directory):
  remove dead code

* bus/config-parser.c (merge_service_context_hash, start_selinux_child):
  Fix some leaks

* bus/bus.c (process_config_every_time):
  Fixed a leak

* bus/desktop-file.c (parse_key_value):
  Fixed leak

* bus/selinux.c (bus_selinux_id_table_insert):
  Fixed leak
2006-08-08 23:29:03 +00:00
John (J5) Palmieri
1fa8e404a4 * dbus/dbus-object-tree.c (_dbus_object_subtree_new):
remove dead code
2006-08-08 22:43:40 +00:00
John (J5) Palmieri
a4e5b74ce5 * Doxyfile.in: fix the INPUT line so we can generate docs
when sourcedir != builddir (patch from Cygwin Ports maintainer
  <yselkowitz at users dot sourceforge dot net>
2006-08-08 22:17:18 +00:00
John (J5) Palmieri
d387411488 * dbus/dbus-sysdeps.h:
* dbus/dbus-sysdeps.c:
* dbus/dbus-string.c:
  s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
  GLib's function which does the same thing

* configure.in:
* bus/Makefile.am:
* bus/dir-watch-default.c:
* bus/dir-watch-dnotify.c:
* bus/dir-watch-kqueue.c:
  Add kqueue directory watching for freebsd and split the directory
  watching code into seperate files per method/arch
  (patches from Timothy Redaelli <drizzt at gufi dotorg>)
2006-08-08 22:08:39 +00:00
John (J5) Palmieri
aaa432b064 * configure.in:
* tools/Makefile.am:
* tools/dbus-launch.c:
* bus/Makefile.am:
  allow --with-dbus-daemondir switch to be used to make the
  daemon install to a seperate bindir like /usr/libexec
  (patch from Brian Cameron <brian dot cameron at sun dot com)
2006-08-08 21:30:31 +00:00
John (J5) Palmieri
d33564292f * bus/Makefile.am (install-data-hook): removed the slash after
$(DESTDIR) so we don't get the double slash which does not work
  in windows (patch from Andras Porjesz
  <andras dot porjesz at siemens dot com>
2006-08-08 21:15:56 +00:00
John (J5) Palmieri
7bb2361e65 * dbus/dbus-sysdeps.h:
* dbus/dbus-sysdeps.c:
  add _dbus_printf_length (patch from Peter Kümmel
  <syntheticpp at gmx dot net>)
2006-08-08 20:59:26 +00:00
John (J5) Palmieri
759fa115c9 * dbus/dbus-internals.c: unistd.h is not used
(_dbus_verbose_real): only enable verbose printing
  if DBUS_VERBOSE environment var is set to '1'
  (patch from Peter Kümmel <syntheticpp at gmx dot net>
2006-08-08 20:22:14 +00:00
John (J5) Palmieri
2c8baa0708 * confifure.in: add a GCC flag check for -Wdeclaration-after-statement
so we still compile on older gcc (patch from Frederic Peters
  <fpeters at 0d dot be>
2006-08-08 15:36:59 +00:00
John (J5) Palmieri
222bd07e9d * configure.in: add -Wdeclaration-after-statement
* dbus/dbus-connection.c: change all the pending call stuff to
  reflect the fact that pending call operations use the connection
  lock

* dbus/dbus-pending-call.c: add locking here

* dbus/dbus-errors.c (struct DBusRealError): don't make the name
  field const consistent with how message field is done
2006-08-04 16:15:16 +00:00
John (J5) Palmieri
7652304bff * s/D-BUS/D-Bus/g 2006-08-03 20:34:36 +00:00
John (J5) Palmieri
baf72e4395 * dbus/dbus-object-tree.c: Patch by Benjamin Otte
<in7y118 at public.uni-hamburg dot de> - fix invalid
  read/write reported by valgrind
2006-08-03 20:02:37 +00:00
John (J5) Palmieri
2235eac0df - Released 0.91 2006-07-24 17:48:13 +00:00
John (J5) Palmieri
da12721817 * dbus/dbus-connection.c:
(_dbus_connection_attach_pending_call_unlocked):
  (connection_timeout_and_complete_all_pending_calls_unlocked):
  Make sure we set timeout_added on pending calls to FALSE when
  we remove the timeout from the connection
2006-07-22 17:06:14 +00:00
John (J5) Palmieri
a549de8b7a * Removed some extra bindings stuff lingering around (thanks timo)
* dbus-pendingcall.c (_dbus_pending_call_new):
  s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
  when we tried to take a lock on an already locked connection
2006-07-21 19:28:56 +00:00
John (J5) Palmieri
a3a22a2609 * Release 0.90 2006-07-17 19:42:36 +00:00
Havoc Pennington
70d525d569 2006-07-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
        ints, reported by Owen Taylor
2006-07-17 18:23:39 +00:00
John (J5) Palmieri
b459906a7a * doc/TODO:
* dbus/dbus-bus.c:
* dbus-errors.c:
* dbus/dbus-marshal-validate.c:
  Removed TODO items which were fixed or are no longer relevent
2006-07-17 17:44:07 +00:00
John (J5) Palmieri
b617b405a5 * Remove stray files from the stripped bindings 2006-07-17 17:34:08 +00:00
Havoc Pennington
d330ea7d1c 2006-07-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
	Improve the error message on reply timeout
2006-07-16 15:35:25 +00:00
John (J5) Palmieri
f86f2617b8 * Update ChangeLog for binding removal commit 2006-07-14 16:21:28 +00:00
John (J5) Palmieri
5efe8e7f1d * dbus-connection.c (dbus_connection_send_with_reply): return TRUE
and set pending_reply out arg to NULL is connection is disconnected
  (connection_timeout_and_complete_all_pending_calls_unlocked): New
  static method for cleaning up pending calls on disconnect
  (_dbus_connection_get_dispatch_status_unlocked): If we have pending
  calls queued timeouts on disconnect

* dbus/dbus-pending-call.ci (_dbus_pending_call_set_connection):
  Remove
2006-07-14 03:09:22 +00:00
John (J5) Palmieri
7628b54125 * bus/activation.[ch] (bus_activation_list_services): new function to
get the list of services that can be activated

* bus/dispatch.c: test coverage for the new bus method
  ListActivatableNames

* bus/driver.c: new bus method ListActivatableNames to get the list of
  services that can be activated

* doc/dbus-specification.xml: ListActivatableNames method documentation
2006-07-14 01:17:59 +00:00
John (J5) Palmieri
a3e4cf7b3a * dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
source files
2006-07-12 18:05:27 +00:00
John (J5) Palmieri
b4474dac7c * dbus/dbus-message-factory.c:
Fix index into an array (patch by Peter Kümmel <syntheticpp at gmx.net>)
2006-07-12 16:52:44 +00:00
John (J5) Palmieri
e3dc6e281a - Make DBusPendingCall an opaque type even to D-Bus internals 2006-07-12 15:57:01 +00:00
John (J5) Palmieri
7553adeaac * dbus/dbus-connection.h: remove connection_disconnect and replace with
connection_close

* dbus/dbus-connection.c: include dbus-bus.h
  (_dbus_connection_read_write_dispatch): make static
2006-07-07 21:56:30 +00:00
John (J5) Palmieri
50f88a0322 * dbus/dbus-connection.c (dbus_connection_close): removed deprecated
function
  (dbus_connection_dispatch): On disconnect unref any shared connections

* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
  for cleaning up shared connections on disconnect
  (internal_bus_get): get a hard refrence to shared connections when
  they are created

* doc/TODO: Remove items which are no longer relevent or have been fixed
  Split 1.0 todo items with a 0.90 freeze todo list
2006-07-07 19:42:56 +00:00
Ross Burton
84e55065ea 2006-06-14 Ross Burton <ross@openedhand.com>
* glib/dbus-gobject.c:
	Free a leaking GArray (surely not!) in dbus_g_method_return.
2006-06-14 16:49:37 +00:00
Ross Burton
db64de230b 2006-06-14 Ross Burton <ross@openedhand.com>
* tools/Makefile.am:
	* tools/dbus-monitor.c:
	Don't use the GLib bindings in dbus-monitor (patch from Ralf
	Habacker).
2006-06-14 14:39:51 +00:00
Ross Burton
c07a6249e2 2006-06-14 Ross Burton <ross@openedhand.com>
* tools/dbus-print-message.c:
	Also print the object path when outputting signals or method calls.
2006-06-14 11:26:41 +00:00
Thiago Macieira
e64ace610f * qt/src/Makefile.am: install the qdbus.h header.
This allows people to actually use the installed code.
2006-06-13 18:21:58 +00:00
Ross Burton
fb4cd60e85 2006-06-12 Ross Burton <ross@openedhand.com>
* glib/dbus-gproxy.c:
	Don't leak a GArray when firing signals (thank Rob Taylor for review).
2006-06-12 14:22:48 +00:00
Thiago Macieira
fc55f9adf8 * Released 0.62
(update ChangeLog and NEWS)
2006-06-12 14:00:47 +00:00
Thiago Macieira
f7a12c982a * dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
break pedantic builds. Closes bug 6043 (patch approved by
        Havoc back in February).
2006-06-12 09:20:20 +00:00
Thiago Macieira
1afe0339cf * qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
that took a QDBusMessage parameter.
	* qt/src/qdbusbus.h: Add a default flag for RequestName.
	* qt/tools/dbus.cpp: Don't use automatic call because we might
        be calling an async method: request a reply.
2006-06-12 09:18:45 +00:00