Re: Using GCancellable



Thank you for your answer Andrew,

I have tried using smaller buffer size, but without any success. It
still waits until the read has completed.

Regards,

On Wed, 2010-05-26 at 12:57 +0400, Andrew E. Makeev wrote:
> I guess, you can't cancel stream reading until BUFSIZ bytes received or
> end of data.
> 
> So, the only way to stop reading "ASAP" is smaller BUFSIZ.
> 
> В Срд, 26/05/2010 в 10:24 +0200, Iñigo Martínez пишет:
> > Hello:
> > 
> > I'm using a GCancellable to be able to cancel a reading process, but
> > it's behaviour is not the one I was expecting. I have this code:
> >   
> >   cancellable = g_cancellable_new ();
> >   file = g_file_new_for_path (path);
> >   input_stream = g_file_read (file, cancellable, &error);
> > 
> >   g_input_stream_read (G_INPUT_STREAM (input_stream),
> >                        buffer,
> >                        BUFSIZ,
> >                        cancellable, &error);
> > 
> >   g_object_unref (input_stream);
> >   g_object_unref (file);
> >   g_object_unref (cancellable);
> > 
> > And in another thread the cancelling call:
> > 
> >   g_cancellable_cancel (cancellable);
> > 
> > The behaviour I was expecting was that the blocking call
> > g_input_stream_read would be unblocked and would return after calling to
> > g_cancellable_cancel.
> > 
> > Actually it waits for g_input_stream_read to finish, so it doesn't
> > really cancel, but g_cancellable is marked as cancelled after that.
> > 
> > Is this it's normal behaviour ?
> > If it is, what can I do to cancel a reading process ?
> > 
> > Thank you,
> > _______________________________________________
> > gtk-list mailing list
> > gtk-list gnome org
> > http://mail.gnome.org/mailman/listinfo/gtk-list



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