From 4b45f17965f3262eb9b3bb49c015af79781c6882 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Wed, 16 Apr 2003 23:01:33 +0000 Subject: 2003-04-16 Havoc Pennington * dbus/dbus-message.c (_dbus_message_add_size_counter): keep a list of size counters (_dbus_message_loader_putback_message_link): put back a popped link * dbus/dbus-connection.c (dbus_connection_set_max_live_messages_size): rename max_received_size (dbus_connection_get_outgoing_size): get size of outgoing queue (_dbus_connection_set_connection_counter): remove this cruft --- dbus/dbus-transport.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'dbus/dbus-transport.c') diff --git a/dbus/dbus-transport.c b/dbus/dbus-transport.c index e726de24..f7b110ab 100644 --- a/dbus/dbus-transport.c +++ b/dbus/dbus-transport.c @@ -830,11 +830,19 @@ _dbus_transport_queue_messages (DBusTransport *transport) _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_add_size_counter (message, transport->live_messages_size)) + { + _dbus_message_loader_putback_message_link (transport->loader, + link); + status = DBUS_DISPATCH_NEED_MEMORY; + break; + } + else + { + /* 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)) @@ -872,14 +880,14 @@ _dbus_transport_get_max_message_size (DBusTransport *transport) } /** - * See dbus_connection_set_max_live_messages_size(). + * See dbus_connection_set_max_received_size(). * * @param transport the transport * @param size the max size of all incoming messages */ void -_dbus_transport_set_max_live_messages_size (DBusTransport *transport, - long size) +_dbus_transport_set_max_received_size (DBusTransport *transport, + long size) { transport->max_live_messages_size = size; _dbus_counter_set_notify (transport->live_messages_size, @@ -890,13 +898,13 @@ _dbus_transport_set_max_live_messages_size (DBusTransport *transport, /** - * See dbus_connection_get_max_live_messages_size(). + * See dbus_connection_get_max_received_size(). * * @param transport the transport * @returns max bytes for all live messages */ long -_dbus_transport_get_max_live_messages_size (DBusTransport *transport) +_dbus_transport_get_max_received_size (DBusTransport *transport) { return transport->max_live_messages_size; } -- cgit