rhythmbox r6062 - in trunk: . podcast
- From: jmatthew svn gnome org
- To: svn-commits-list gnome org
- Subject: rhythmbox r6062 - in trunk: . podcast
- Date: Mon, 17 Nov 2008 07:27:27 +0000 (UTC)
Author: jmatthew
Date: Mon Nov 17 07:27:27 2008
New Revision: 6062
URL: http://svn.gnome.org/viewvc/rhythmbox?rev=6062&view=rev
Log:
2008-11-17 Jonathan Matthew <jonathan d14n org>
* podcast/rb-podcast-manager.c: (podcast_download_thread):
Close the streams (and unref them) before emitting the error/complete
status. Previously there was a race between the download thread and
the main loop thread that could cause crashes here. Also, now we can
report errors that occur when closing the output stream.
Fixes #554556.
Modified:
trunk/ChangeLog
trunk/podcast/rb-podcast-manager.c
Modified: trunk/podcast/rb-podcast-manager.c
==============================================================================
--- trunk/podcast/rb-podcast-manager.c (original)
+++ trunk/podcast/rb-podcast-manager.c Mon Nov 17 07:27:27 2008
@@ -1525,17 +1525,20 @@
download_progress (data, downloaded, data->download_size, FALSE);
}
+ /* close everything */
+ g_input_stream_close (G_INPUT_STREAM (data->in_stream), data->cancel, NULL);
+ g_object_unref (data->in_stream);
+
+ g_output_stream_close (G_OUTPUT_STREAM (data->out_stream), data->cancel, &error);
+ g_object_unref (data->out_stream);
+
if (error != NULL) {
download_error (data, error);
} else {
download_progress (data, downloaded, data->download_size, TRUE);
}
- /* close everything */
- g_input_stream_close (G_INPUT_STREAM (data->in_stream), data->cancel, NULL);
- /* probably should actually care about this.. */
- g_output_stream_close (G_OUTPUT_STREAM (data->out_stream), data->cancel, NULL);
-
+ rb_debug ("exiting download thread");
return NULL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]