From: Dan Winship Date: Wed, 21 Nov 2007 16:23:26 +0000 (+0000) Subject: make this non-static. X-Git-Tag: LIBSOUP_2_3_0_1~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=69f3f07657d185616171dd50ecbd903ed750a5f7;p=platform%2Fupstream%2Flibsoup.git make this non-static. * 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 --- diff --git a/ChangeLog b/ChangeLog index 195d8bc..83c9060 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-11-21 Dan Winship + + * 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 Fix up SOUP_SESSION_ASYNC_CONTEXT. #498509, Wouter Cloetens diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c index b9e0991..369848c 100644 --- a/libsoup/soup-message-io.c +++ b/libsoup/soup-message-io.c @@ -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; } diff --git a/libsoup/soup-message-private.h b/libsoup/soup-message-private.h index 3f8e366..14f55d2 100644 --- a/libsoup/soup-message-private.h +++ b/libsoup/soup-message-private.h @@ -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, diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c index d58d21c..5a0f8ba 100644 --- a/libsoup/soup-message.c +++ b/libsoup/soup-message.c @@ -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);