fix
diff --git a/lib/fuse.c b/lib/fuse.c
index d382707..50ae3a8 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -1006,7 +1006,7 @@
         res = read(f->fd, cmd->buf, FUSE_MAX_IN);
         if(res == -1) {
             free_cmd(cmd);
-            if(errno == EINTR)
+            if(f->exited || errno == EINTR)
                 return NULL;
 
             /* ENODEV means we got unmounted, so we silenty return failure */