diff options
author | Havoc Pennington <hp@redhat.com> | 2003-03-16 20:16:47 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-03-16 20:16:47 +0000 |
commit | ebb57e719c32becd95a1efe3dd269c21e5a011b6 (patch) | |
tree | 1712e557855a60576828b45683505d329631a462 /dbus/dbus-transport-unix.c | |
parent | 021305e5686fc4847fec942922d2115ae5c9c2bb (diff) |
2003-03-16 Havoc Pennington <hp@pobox.com>
* dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
this. always run the test suite before commit...
* bus/*: adapt to DBusConnection API changes
* glib/dbus-gmain.c: adapt to DBusConnection API changes,
requires renaming stuff to avoid dbus_connection_dispatch name
conflict.
* dbus/dbus-transport.c (_dbus_transport_queue_messages): new
function
* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
separate from _dbus_message_loader_return_buffer()
* dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
this, because it's now always broken to use; the number of
messages in queue vs. the number still buffered by the message
loader is undefined/meaningless. Should use
dbus_connection_get_dispatch_state().
(dbus_connection_dispatch): rename from
dbus_connection_dispatch_message
Diffstat (limited to 'dbus/dbus-transport-unix.c')
-rw-r--r-- | dbus/dbus-transport-unix.c | 36 |
1 files changed, 2 insertions, 34 deletions
diff --git a/dbus/dbus-transport-unix.c b/dbus/dbus-transport-unix.c index ed68658b..9ea5ce11 100644 --- a/dbus/dbus-transport-unix.c +++ b/dbus/dbus-transport-unix.c @@ -178,37 +178,6 @@ do_io_error (DBusTransport *transport) _dbus_transport_unref (transport); } -static void -queue_messages (DBusTransport *transport) -{ - DBusList *link; - - /* Queue any messages */ - while ((link = _dbus_message_loader_pop_message_link (transport->loader))) - { - DBusMessage *message; - - message = link->data; - - _dbus_verbose ("queueing received message %p\n", message); - - _dbus_message_add_size_counter (message, transport->live_messages_size); - - /* pass ownership of link and message ref to connection */ - _dbus_connection_queue_received_message_link (transport->connection, - link); - } - - if (_dbus_message_loader_get_is_corrupted (transport->loader)) - { - _dbus_verbose ("Corrupted message stream, disconnecting\n"); - do_io_error (transport); - } - - /* check read watch in case we've now exceeded max outstanding messages */ - check_read_watch (transport); -} - /* return value is whether we successfully read any new data. */ static dbus_bool_t read_data_into_auth (DBusTransport *transport) @@ -398,8 +367,6 @@ recover_unused_bytes (DBusTransport *transport) orig_len); } - queue_messages (transport); - return; nomem: @@ -777,7 +744,8 @@ do_reading (DBusTransport *transport) total += bytes_read; - queue_messages (transport); + if (_dbus_transport_queue_messages (transport) == DBUS_DISPATCH_NEED_MEMORY) + goto out; /* Try reading more data until we get EAGAIN and return, or * exceed max bytes per iteration. If in blocking mode of |