From: Jeff D. <jd...@ad...> - 2006-03-01 02:44:10
|
In order to properly do asynchronous handing of FUSE requests, I need something like this: Index: fuse-2.5.1/lib/fuse_kern_chan.c =================================================================== --- fuse-2.5.1.orig/lib/fuse_kern_chan.c 2006-01-20 10:21:17.000000000 -0500 +++ fuse-2.5.1/lib/fuse_kern_chan.c 2006-02-28 10:37:21.000000000 -0500 @@ -28,6 +28,8 @@ static int fuse_kern_chan_receive(struct operation was interrupted */ if (err == EINTR || err == ENOENT) return 0; + if(err == EAGAIN) + return -EAGAIN; /* ENODEV means we got unmounted, so we silently return failure */ if (err != ENODEV) perror("fuse: reading device"); Obviously, this is wrong, but I do need something that says there's nothing left to read. If this interface can't be changed to just return the errno from the read, then maybe we want one that does. Jeff |