| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro,
for a variety of reasons '==' doesn't do this.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
DBusOctets8 was aligned when passed in as a function argument
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* dbus/dbus-string.c (_dbus_string_equal_substrings): new function
I keep wishing I had
|
| |
|
|
|
|
| |
a minute
|
|
|
|
| |
- further squish the iterator structs
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- add SIGNATURE type
- fix max name len of 256, should be 255 so it fits in a byte if it's going to be a number
near 256
- generalize some of the recursive type marshaling code to share between arrays and variants
- just started on implementing variant
|
|
|
|
| |
* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
|
|
|
|
|
|
|
| |
* python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
dbus-protocol.h. Because they are defines and not enums they are not
autogenerated.
|
| |
|
| |
|
|
|
|
| |
to be more automated...)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* python/dbus_bindings.pyx.in (bus_activate_service): Bind
dbus_bus_activate_service
* python/dbus.py (Bus.activate_service): activate a service on the
bus.
|
|
|
|
|
|
|
| |
* test/decode-gcov.c: change to use .gcno and .gcda files, but the
file format has also changed and I haven't adapted to that yet
* Makefile.am: load .gcno files from latest gcc
|
| |
|
|
|
|
|
|
| |
- wrap bus_get_unix_user method in low level bindings
- add get_unix_user method to the Bus class
- fix extract.py so it can handle unsigned long return types
|
|
|
|
| |
better POSIX compliance.
|
|
|
|
|
|
|
| |
* dbus/dbus-string.c (_dbus_string_insert_4_aligned)
(_dbus_string_insert_8_aligned): new functions
* dbus/dbus-string.c (_dbus_string_alloc_space): new function
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
macro
* dbus/dbus-message.c: fix a comment, and add a still-unused
not-implemented function
* dbus/dbus-marshal.h: fix comment
* dbus/dbus-internals.h (_DBUS_ISASCII): new macro
|
|
|
|
|
|
|
|
|
| |
* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
Type.UnderlyingSystemType to get the actual system type
underneath. This code previously depended on the broken Mono
behavior, which was fixed in 1.1.3.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
are disabled
(_dbus_string_get_const_data): inline when asserts are disabled
* dbus/dbus-message.c: record the _dbus_current_generation of
creation so we can complain if dbus_shutdown() is used improperly.
Do this only if checks are enabled.
* dbus/dbus-connection.c: ditto
|
|
|
|
|
|
|
|
|
|
| |
* test/glib/test-profile.c: add with_bus mode to profile echoes
that go through the bus.
* test/glib/run-test.sh: add ability to run test-profile
* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
config file reload.
|
|
|
|
|
| |
* test/glib/test-profile.c: clean up how the fake_malloc_overhead
thing was implemented
|
|
|
|
|
|
|
| |
* test/glib/test-profile.c: tweak a bit, add support for some
made-up minimal malloc overhead with plain sockets, since in
real life some sort of buffers are unavoidable thus we could
count them in the theoretical best case
|
|
|
|
|
| |
* dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
where I was trying to cache one too many messages
|
|
|
|
|
| |
* dbus/dbus-message.c: reimplement message cache as an array which
makes the cache about twice as fast and saves maybe 1.5% overall
|
|
|
|
|
| |
* dbus/dbus-threads.c (init_global_locks): forgot to put the
message cache lock here
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dbus/dbus-message.c (struct DBusMessage): put the locked bit and
the "char byte_order" next to each other to save 4 bytes
(dbus_message_new_empty_header): reduce preallocation, since the
message cache should achieve a similar effect
(dbus_message_cache_or_finalize, dbus_message_get_cached): add a
message cache that keeps a few DBusMessage around in a pool,
another 8% speedup or so.
* dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
|
|
|
|
|
|
|
| |
* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
to write, without reading or blocking, try it before the poll()
and skip the poll() if nothing remains to write. This is about a
3% speedup in the echo client/server
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The primary change here is to always write() once before adding
the write watch, which gives us about a 10% performance increase.
* dbus/dbus-transport-unix.c: a number of modifications to cope
with removing messages_pending
(check_write_watch): properly handle
DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
messages_pending stuff
(check_read_watch): properly handle WAITING_FOR_MEMORY and
AUTHENTICATED cases
(unix_handle_watch): after writing, see if the write watch can be
removed
(unix_do_iteration): assert that write_watch/read_watch are
non-NULL rather than testing that they aren't, since they
aren't allowed to be NULL. check_write_watch() at the end so
we add the watch if we did not finish writing (e.g. got EAGAIN)
* dbus/dbus-transport-protected.h: remove messages_pending call,
since it resulted in too much inefficient watch adding/removing;
instead we now require that the transport user does an iteration
after queueing outgoing messages, and after trying the first
write() we add a write watch if we got EAGAIN or exceeded our
max bytes to write per iteration setting
* dbus/dbus-string.c (_dbus_string_validate_signature): add this
function
* dbus/dbus-server-unix.c (unix_finalize): the socket name was
freed and then accessed, valgrind flagged this bug, fix it
* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
as the last valid field plus 1, where really it is equal to the
last valid field. Corrects some message corruption issues.
* dbus/dbus-mainloop.c: verbosity changes
* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
instead of aborting in one of the test codepaths
* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
caused not printing the pid ever again if a verbose was missing
the newline at the end
(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
* dbus/dbus-connection.c: verbosity changes;
(dbus_connection_has_messages_to_send): new function
(_dbus_connection_message_sent): no longer call transport->messages_pending
(_dbus_connection_send_preallocated_unlocked): do one iteration to
try to write() immediately, so we can avoid the write watch. This
is the core purpose of this patchset
(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
dump the outgoing message queue, so nobody will get confused
trying to send them or thinking stuff is pending to be sent
* bus/test.c: verbosity changes
* bus/driver.c: verbosity/assertion changes
* bus/dispatch.c: a bunch of little tweaks to get it working again
because this patchset changes when/where you need to block.
|
|
|
|
|
|
| |
* test/glib/test-profile.c: modify to accept a plain_sockets
argument in which case it will bench plain sockets instead of
libdbus, for comparison purposes.
|
|
|
|
|
|
|
|
| |
* test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
threads for more time, so sysprof can get a grip on it.
* dbus/dbus-string.c (_dbus_string_validate_utf8): remove
pointless variable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* test/glib/test-profile.c: fix this thing up a bit
* dbus/dbus-message.c (dbus_message_new_empty_header): increase
preallocation sizes by a fair bit; not sure if this will be an
overall performance win or not, but it does reduce reallocs.
* dbus/dbus-string.c (set_length, reallocate_for_length): ignore
the test hack that forced constant realloc if asserts are
disabled, so we can profile sanely. Sprinkle in some
_DBUS_UNLIKELY() which are probably pointless, but before I
noticed the real performance problem I put them in.
(_dbus_string_validate_utf8): micro-optimize this thing a little
bit, though callgrind says it didn't help; then special-case
ascii, which did help a lot; then be sure we detect nul bytes as
invalid, which is a bugfix.
(align_length_then_lengthen): add some more _DBUS_UNLIKELY
superstition; use memset to nul the padding instead of a manual
loop.
(_dbus_string_get_length): inline this as a
macro; it showed up in the profile because it's used for loop
tests and so forth
|
| |
|
|
|
|
|
| |
* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
for extra paranoia.
|