summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-transport-socket.c
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2007-09-20 00:13:35 -0400
committerRyan Lortie <desrt@desrt.ca>2007-09-20 00:13:35 -0400
commit8c6b0ab3f7e437362112eeaf83a566475b85d27c (patch)
treea8e56fe093b9597bf69c1b4c9144ba8490a1c3da /dbus/dbus-transport-socket.c
parent44ed90c10d435f1a12c2b4b1a601040fa585ce38 (diff)
Add support for compacting DBusStrings to release wasted memory.
2007-09-19 Ryan Lortie <desrt@desrt.ca> * dbus/dbus-string.[ch] (compact, _dbus_string_compact, _dbus_string_lock): new compact function to free up allocated memory that is no longer used. * dbus/dbus-message.c (load_message): call _dbus_string_compact on the message loader buffer. * dbus/dbus-transport-socket.c (do_reading, do_writing): call _dbus_string_compact on the incoming/outgoing "encoded" buffers. * dbus/dbus-string-util.c (_dbus_string_test): add a few tests for string compacting.
Diffstat (limited to 'dbus/dbus-transport-socket.c')
-rw-r--r--dbus/dbus-transport-socket.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/dbus/dbus-transport-socket.c b/dbus/dbus-transport-socket.c
index a31c1597..f6d0e9c2 100644
--- a/dbus/dbus-transport-socket.c
+++ b/dbus/dbus-transport-socket.c
@@ -642,6 +642,7 @@ do_writing (DBusTransport *transport)
{
socket_transport->message_bytes_written = 0;
_dbus_string_set_length (&socket_transport->encoded_outgoing, 0);
+ _dbus_string_compact (&socket_transport->encoded_outgoing, 2048);
_dbus_connection_message_sent (transport->connection,
message);
@@ -733,6 +734,7 @@ do_reading (DBusTransport *transport)
_dbus_string_get_length (buffer) - orig_len);
_dbus_string_set_length (&socket_transport->encoded_incoming, 0);
+ _dbus_string_compact (&socket_transport->encoded_incoming, 2048);
}
}
else