make this non-static.
authorDan Winship <danw@src.gnome.org>
Wed, 21 Nov 2007 16:23:26 +0000 (16:23 +0000)
committerDan Winship <danw@src.gnome.org>
Wed, 21 Nov 2007 16:23:26 +0000 (16:23 +0000)
* 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.)

svn path=/trunk/; revision=956

ChangeLog
libsoup/soup-message-io.c
libsoup/soup-message-private.h
libsoup/soup-message.c

index 195d8bc..83c9060 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+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
index b9e0991..369848c 100644 (file)
@@ -78,8 +78,8 @@ typedef struct {
 
 #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;
@@ -157,7 +157,7 @@ static void
 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
@@ -770,7 +770,7 @@ new_iostate (SoupMessage *msg, SoupSocket *sock, SoupMessageIOMode mode,
        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;
 }
index 3f8e366..14f55d2 100644 (file)
@@ -59,6 +59,7 @@ void soup_message_io_server  (SoupMessage               *msg,
                              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,
index d58d21c..5a0f8ba 100644 (file)
@@ -65,7 +65,7 @@ finalize (GObject *object)
        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);