Good point. I'll give it a look. Thanks very much. -- Mike

On Mar 12, 10:58 pm, Sam Moffatt <[email protected]> wrote:
> I'll take a stab at it and suggest that the sleep is not sleeping the
> thread but in fact your entire process which makes it non-responsive
> until it is scheduled to run again. From memory you should be able to
> make a blocking I/O call and FUSE will handle the rest - which is
> effectively what is happening because you can't finish your call
> without having the data so you might as well just block for what you
> need until you get it.
>
> Cheers,
>
> Sam Moffatthttp://pasamio.id.au
>
> On Sun, Mar 13, 2011 at 1:54 AM, Mike Abraham <[email protected]> wrote:
> > This surely a newbie question, so my apologies in advance. I'm
> > creating a loopback file system that temporarily blocks on read events
> > while transfering data from a remote location.
>
> > To give my background process a little time to fetch the data, I sleep
> > the current thread. However, doing so seems to block all operations in
> > the VFS -- it essentially behaves as if it is single-threaded.
>
> > It's easy to reproduce this in either the straight C, or Objective-C
> > loopback examples. Using the Obj-C example, just insert  the following
> > lines in the readFileAtPath() method, right after the pread call, as
> > follows:
>
> > int ret = pread(fd, buffer, size, offset);
>
> > NSLog(@"Sleeping for 10 seconds.");
> > [NSThread sleepForTimeInterval:10];
>
> > If you run this and then try to open 2 different files, you'll see
> > that the second file cannot be read until the read on the first file
> > returns.
>
> > My obvious question is, is this normal, and if so, how do I deal with
> > it, keeping in mind that I will need to block on read in some fashion
> > while spinning up my process to grab data remotely.
>
> > Thanks in advance for any assistance. -- Mike
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "MacFUSE" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/macfuse?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"MacFUSE" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/macfuse?hl=en.

Reply via email to