fix
diff --git a/lib/fuse.c b/lib/fuse.c
index f609326..22d6509 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -1618,7 +1618,7 @@
         struct fuse_cmd *cmd;
 
         if (__fuse_exited(f))
-            return 0;
+            break;
 
         cmd = __fuse_read_cmd(f);
         if (cmd == NULL)
@@ -1626,6 +1626,7 @@
 
         __fuse_process_cmd(f, cmd);
     }
+    f->exited = 0;
     return 0;
 }