gvfs r2130 - in trunk: . daemon



Author: danw
Date: Thu Dec 11 19:19:08 2008
New Revision: 2130
URL: http://svn.gnome.org/viewvc/gvfs?rev=2130&view=rev

Log:
	* daemon/soup-input-stream.c (read_async_done)
	(soup_input_stream_read_async, soup_input_stream_close_async):
	don't leak GSimpleAsyncResults. #551075.

	* daemon/gvfsbackendhttp.c (try_open_for_read): set_accumulate to
	FALSE on the response body to avoid extra allocating+freeing.
	Patch from Peter Christoffersen, part of #551075.
	(open_for_read_ready): unref the stream on error.


Modified:
   trunk/ChangeLog
   trunk/daemon/gvfsbackendhttp.c
   trunk/daemon/soup-input-stream.c

Modified: trunk/daemon/gvfsbackendhttp.c
==============================================================================
--- trunk/daemon/gvfsbackendhttp.c	(original)
+++ trunk/daemon/gvfsbackendhttp.c	Thu Dec 11 19:19:08 2008
@@ -346,6 +346,7 @@
                                 error->message);
 
       g_error_free (error);
+      g_object_unref (stream);
       return;
     }
 
@@ -371,6 +372,8 @@
   msg = soup_message_new_from_uri (SOUP_METHOD_GET, uri);
   soup_uri_free (uri);
 
+  soup_message_body_set_accumulate (msg->response_body, FALSE);
+
   stream = soup_input_stream_new (op_backend->session_async, msg);
   g_object_unref (msg);
 

Modified: trunk/daemon/soup-input-stream.c
==============================================================================
--- trunk/daemon/soup-input-stream.c	(original)
+++ trunk/daemon/soup-input-stream.c	Thu Dec 11 19:19:08 2008
@@ -714,6 +714,7 @@
   soup_input_stream_done_io (stream);
 
   g_simple_async_result_complete (result);
+  g_object_unref (result);
 }
 
 static void
@@ -748,6 +749,7 @@
     {
       g_simple_async_result_set_op_res_gssize (result, 0);
       g_simple_async_result_complete_in_idle (result);
+      g_object_unref (result);
       return;
     }
 
@@ -756,6 +758,7 @@
       gsize nread = read_from_leftover (priv, buffer, count);
       g_simple_async_result_set_op_res_gssize (result, nread);
       g_simple_async_result_complete_in_idle (result);
+      g_object_unref (result);
       return;
     }
 
@@ -804,6 +807,7 @@
     }
 
   g_simple_async_result_complete_in_idle (result);
+  g_object_unref (result);
 }
 
 static gboolean



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]