9pfuse: support for nonblocking i/o
I'm trying to mount Inferno registry(4) in linux using 9pfuse and work with it using Perl. Perl lack usable threads, so I have to use EV/libev module (epoll-based non-blocking i/o). Problem is, when I'm trying to open /mnt/registry/event file (either using open(O_NONBLOCK|O_RDONLY) or fcntl(F_SETFL, oldflags|O_NONBLOCK)) epoll immediately report it's available for non-blocking read, but read syscall hangs waiting for data. And only ways to return from that read syscall is kill 9pfuse process or force registry(4) to send some events.
So, is it possible to somehow work in single-threaded linux app with 9pfuse-mounted fs without hanging in every second syscall?