Re: Some comments about GVFS
- From: Alexander Larsson <alexl redhat com>
- To: Andy Wingo <wingo pobox com>
- Cc: gtk-devel-list gnome org
- Subject: Re: Some comments about GVFS
- Date: Thu, 10 May 2007 09:41:21 +0200
On Wed, 2007-05-09 at 23:58 +0200, Andy Wingo wrote:
> Hello,
>
> On Tue, 2007-05-08 at 16:59 +0200, Alexander Larsson wrote:
> > I'm still not sure why gstreamer needs to run its own mainloop in its
> > thread though. If its async, then it should be able to use the default
> > mainloop. Is it because there is no guarantee of the default mainloop
> > running always?
>
> I am not certain how the mainloop got involved here. GStreamer uses
> threads so that it can use blocking read() and write() calls.
>
> Underneath, it's true they go through select() first on the fd + a
> control fd from a socketpair, because you need to be able to cancel a
> wait from another thread, so that you can seek, for example. Perhaps
> that is the concern?
>
> In any case, as long as one is able to cancel an in-progress sync
> operation from another thread, GStreamer is fine, AFAIK.
So, if you were to implement gstreamer sinks and sources for gvfs, an
api like:
gssize g_input_stream_read (GInputStream *stream,
void *buffer,
gsize count,
GCancellable *cancellable,
GError **error);
Would be ok with you? Its a blocking call, but if you pass in a
GCancellable you can use that to cancel the call from another thread.
And you wouldn't be interesting in async (mainloop-using) i/o operations
at all?
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl redhat com alla lysator liu se
He's an impetuous small-town cat burglar on the wrong side of the law. She's a
vivacious mutant fairy princess with a knack for trouble. They fight crime!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]