summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-08Merge branch 'configurable-memory-35090' into configurableconfigurableSimon McVittie21-133/+370
2011-03-08dbus-spam: add support for sending pseudorandomly-sized messagesSimon McVittie1-1/+84
2011-03-07Replace vestigial efence support with --with-dbus-daemon-mallocconfigurable-memory-35090Simon McVittie3-7/+20
2011-03-07Add a configure option to disable DBusMemPool for hash table entriesSimon McVittie4-3/+33
2011-03-07Add a configure option to disable the DBusMemPool for linked-list linksSimon McVittie4-2/+21
2011-03-07Add a configure option to disable the message cacheSimon McVittie4-0/+32
The option is called "enable" even though the default is on, to avoid confusing people with double-negatives.
2011-03-07Remove the per-connection link cacheSimon McVittie1-48/+11
With fd.o#34393 fixed, retaking the lock to cache unused links significantly adds to locking overhead (-18% throughput in a synthetic benchmark on an ARM device). The cache is also unlimited in size, and probably contributes to memory growth and fragmentation by not being under the system malloc's control. Fixing fd.o #34393, but also dropping this cache entirely, turns out to lead to a 5% increase in throughput on the same synthetic benchmark.
2011-02-25dbus_connection_dispatch: avoid freeing UnknownMethod reply until we unlockSimon McVittie1-4/+16
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34393
2011-02-25_dbus_connection_peer_filter_unlocked_no_update: delay freeing replySimon McVittie1-41/+40
Finalizing the reply could conceivably call callbacks, so wait til we unlock. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34393
2011-02-25Don't finalize sent or dispatched messages while under the connection lockSimon McVittie2-13/+62
Finalizing a message can trigger callbacks; that's bad, if we have a connection locked. In particular, if a message is received by the "left side", passed to the "right side" and sent (as in test/relay.c (see the diagram there) or in dbus-daemon), then finalizing that message could result in the live messages counter for the left side, and the outgoing messages counter for the right side, both being decremented while under either side's lock. After a message is dispatched on the left side, finalizing it now drops the lock temporarily, to avoid this problem. After a message is sent on the right side, finalizing it is now deferred until the right side unlocks, by moving it to a new queue of "expired messages" which is automatically cleared every time we release the lock. The "live messages" counter for the "left" connection will now explicitly take the left connection's lock before decrementing, to avoid manipulating watches without a lock. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34393
2011-02-25Don't inline the contents of _dbus_connection_unlockSimon McVittie1-6/+8
It's about to become more complex, to handle delayed deallocation of messages in order to avoid triggering callbacks while locked.
2011-02-25When attaching counters to messages, don't automatically notify callbacksSimon McVittie3-3/+23
In all the places where counters are added, we're under a lock. The caller knows what effect adding the counter might have, and can replicate it in a lock-safe way if necessary. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34393
2011-02-25Comment some places where it's OK to unref a message despite holding locksSimon McVittie2-0/+4
In general, dbus_message_unref should be avoided while holding locks, because it can invoke arbitrary user callbacks (via attached data, or via DBusCounter).
2011-02-25Add _dbus_counter_notify and call it after every adjustmentSimon McVittie3-6/+34
When fd-passing is implemented, adjustments happen in pairs; in that case we coalesce the two calls into one.
2011-02-25_dbus_connection_message_sent: rename to _unlockedSimon McVittie3-6/+6
It's called with the connection's lock held.
2011-02-25dbus_bus_register: don't unref the messages with the lock heldSimon McVittie1-12/+11
Finalizing a message can call out to user code via dbus_message_set_data (or to internal code not expecting locks to be held, via DBusCounter).
2011-02-25Add a hackish script to reproduce fd.o #34393Simon McVittie6-1/+68
The number of messages is arbitrary; the more messages, the more likely the crash is. 2000 messages seem to cause it reliably, on this laptop. The script may have race conditions (there are a couple of hard-coded sleep calls), so I haven't set it up to be run automatically.
2011-02-25Add dbus-spam, dbus-echo toolsSimon McVittie4-1/+568
2011-02-25Merge branch 'doxygenate' into dbus-1.4Simon McVittie5-8/+67
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk> Conflicts: configure.ac doc/Makefile.am
2011-02-25NEWS so farSimon McVittie1-0/+13
2011-02-25Merge branch 'changequote' into dbus-1.4Simon McVittie1-11/+5
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-02-25Merge branch 'require-display-for-autolaunch-19997' into dbus-1.4Simon McVittie4-21/+58
Reviewed-by: Colin Walters <walters@verbum.org>
2011-02-25Merge branch 'modern-autofoo-32245' into dbus-1.4Simon McVittie3-45/+59
2011-02-24Allow X11 autolaunch to be disabled even if the headers/libraries are thereSimon McVittie4-22/+47
In an embedded system where the D-Bus session is a core part of the environment, like Maemo, accidentally auto-launching a second session bus (for instance for a concurrent ssh session) is a bad idea - it can lead to a "split brain" situation where half the applications in the GUI are using a different bus. In these controlled environments, it'd be useful to prevent autolaunch from ever happening. (As a side benefit, the changes to configure.in also mean that packagers can explicitly --enable-x11-autolaunch, to make sure that failure to find X will make compilation fail cleanly.) Bug: https://bugs.freedesktop.org/show_bug.cgi?id=19997 Bug-NB: NB#219964
2011-02-24Don't attempt Unix X11 autolaunching if DISPLAY isn't setSimon McVittie1-0/+12
The known use cases for autolaunching (ssh -Y firefox, run konqueror in legacy DE) all need $DISPLAY too. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=19997
2011-02-24config-parser regression test: don't require that fd.o #34496 existsSimon McVittie1-1/+1
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-02-24Give XDG_DATA_HOME priority over XDG_DATA_DIRS for servicedirsSimon McVittie1-23/+26
According to the XDG Base Directory Specification, “the base directory defined by $XDG_DATA_HOME is considered more important than any of the base directories defined by $XDG_DATA_DIRS.” This makes it easier to override a system service file as a normal user. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34496 Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Honour aclocal flags in Makefile.am, rather than gluing them onto ACLOCALSimon McVittie2-4/+1
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize setup of libtool for WindowsSimon McVittie1-2/+4
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Use AC_CONFIG_HEADERS, not AM_CONFIG_HEADERSimon McVittie1-1/+1
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize AC_INIT usage, with a bug report URLSimon McVittie1-1/+1
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Require a somewhat modern version of autoconf and automakeSimon McVittie1-2/+2
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize AC_OUTPUT usageSimon McVittie1-1/+2
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks in ld_supports_flagSimon McVittie1-2/+4
Part of a patch by Javier Jardón. (This will conflict with changes from my gc-sections branch -smcv) Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks for DBUS__ACQUIRE_SVCSimon McVittie1-6/+7
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks for monotonic clockSimon McVittie1-3/+5
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks for cmsgcredSimon McVittie1-3/+5
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks for ISO/GNU varargsSimon McVittie1-4/+8
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks for socklen_tSimon McVittie1-3/+5
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks for non-POSIX getpwnam_rSimon McVittie1-3/+2
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Modernize checks for dirfd/dd_fdSimon McVittie1-8/+10
Part of a patch by Javier Jardón. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-24Rename configure.in to configure.acSimon McVittie2-2/+2
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
2011-02-24Don't compress spaces in CFLAGS and friendsSimon McVittie1-5/+0
Not all sed implementations understand "+" with its POSIX extended regular expression semantics, and compressing spaces is purely cosmetic anyway. Let's just drop this.
2011-02-24Remove unnecessary changequote callSimon McVittie1-2/+0
Nothing in the changequote'd environment uses square brackets anyway.
2011-02-24Use square brackets (m4 quoting) instead of changequoteSimon McVittie1-4/+5
For more details, see: http://www.gnu.org/software/autoconf/manual/html_node/Changequote-is-Evil.html
2011-02-18Post-release version bumpSimon McVittie1-1/+1
2011-02-18sysdeps-win needs _dbus_path_is_absoluteMark Brand2-17/+17
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-02-17Let's try that again.dbus-1.4.6Simon McVittie2-2/+8
2011-02-17Remove unreviewed changes intended to support GTest-based testsSimon McVittie1-14/+0
These were committed by mistake. :-(
2011-02-17Post-release version bumpSimon McVittie1-1/+1