Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
The option is called "enable" even though the default is on, to avoid
confusing people with double-negatives.
|
|
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.
|
|
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34393
|
|
Finalizing the reply could conceivably call callbacks, so wait til we
unlock.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34393
|
|
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
|
|
It's about to become more complex, to handle delayed deallocation of
messages in order to avoid triggering callbacks while locked.
|
|
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
|
|
In general, dbus_message_unref should be avoided while holding locks,
because it can invoke arbitrary user callbacks (via attached data, or
via DBusCounter).
|
|
When fd-passing is implemented, adjustments happen in pairs; in that case
we coalesce the two calls into one.
|
|
It's called with the connection's lock held.
|
|
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).
|
|
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.
|
|
|
|
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
Conflicts:
configure.ac
doc/Makefile.am
|
|
|
|
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
|
|
Reviewed-by: Colin Walters <walters@verbum.org>
|
|
|
|
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
|
|
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
|
|
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32245
|
|
Not all sed implementations understand "+" with its POSIX extended regular
expression semantics, and compressing spaces is purely cosmetic anyway.
Let's just drop this.
|
|
Nothing in the changequote'd environment uses square brackets anyway.
|
|
For more details, see:
http://www.gnu.org/software/autoconf/manual/html_node/Changequote-is-Evil.html
|
|
|
|
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
|
|
|
|
These were committed by mistake. :-(
|
|
|