From: Alexander Larsson Date: Tue, 12 May 2009 17:31:19 +0000 (+0200) Subject: Add comment about lifecycle issues for GIOStreams X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=6d0bebb7df1129bb78cdd526e1b44c91b61321dd;p=dana%2Fcg-glib.git Add comment about lifecycle issues for GIOStreams --- diff --git a/gio/giostream.c b/gio/giostream.c index 3d22bd79..6f3de48f 100644 --- a/gio/giostream.c +++ b/gio/giostream.c @@ -47,6 +47,12 @@ G_DEFINE_TYPE (GIOStream, g_io_stream, G_TYPE_OBJECT); * To do the actual reading and writing you need to get the substreams * with g_io_stream_get_input_stream() and g_io_stream_get_output_stream(). * + * The #GIOStream object owns the input and the output streams, not the other + * way around, so keeping the substreams alive will not keep the #GIOStream + * object alive. If the #GIOStream object is freed it will be closed, thus + * closing the substream, so even if the substreams stay alive they will + * always just return a %G_IO_ERROR_CLOSED for all operations. + * * To close a stream use g_io_stream_close() which will close the common * stream object and also the individual substreams. You can also close * the substreams themselves. In most cases this only marks the