+2007-11-21 Dan Winship <danw@gnome.org>
+
+ * libsoup/soup-message-io.c (soup_message_io_cleanup): make this
+ non-static.
+
+ * libsoup/soup-message.c (finalize): Use soup_message_io_cleanup()
+ rather than soup_message_io_stop(), to avoid leaks when finalizing
+ an unfinished message. (Another part of #498509, Wouter Cloetens.)
+
2007-11-20 Dan Winship <danw@gnome.org>
Fix up SOUP_SESSION_ASYNC_CONTEXT. #498509, Wouter Cloetens
#define RESPONSE_BLOCK_SIZE 8192
-static void
-io_cleanup (SoupMessage *msg)
+void
+soup_message_io_cleanup (SoupMessage *msg)
{
SoupMessagePrivate *priv = SOUP_MESSAGE_GET_PRIVATE (msg);
SoupMessageIOData *io;
soup_message_io_finished (SoupMessage *msg)
{
g_object_ref (msg);
- io_cleanup (msg);
+ soup_message_io_cleanup (msg);
if (SOUP_MESSAGE_IS_STARTING (msg))
soup_message_restarted (msg);
else
io->write_state = SOUP_MESSAGE_IO_STATE_NOT_STARTED;
if (priv->io_data)
- io_cleanup (msg);
+ soup_message_io_cleanup (msg);
priv->io_data = io;
return io;
}
SoupMessageGetHeadersFn get_headers_cb,
SoupMessageParseHeadersFn parse_headers_cb,
gpointer user_data);
+void soup_message_io_cleanup (SoupMessage *msg);
/* Auth handling */
void soup_message_set_auth (SoupMessage *msg,
SoupMessage *msg = SOUP_MESSAGE (object);
SoupMessagePrivate *priv = SOUP_MESSAGE_GET_PRIVATE (msg);
- soup_message_io_stop (msg);
+ soup_message_io_cleanup (msg);
if (priv->uri)
soup_uri_free (priv->uri);