Hi all,
I am developing a cloud network drive using osxfuse 3.5.2 and it uses a UI framework and mounts fuse . I need to exit (and remount) cleanly without leaving mount points.
Originally I was using the helper method fuse_main define to mount fuse but there is no way to unmount and clean up the fuse. During development I was just using system ("umount -f mountpoint") to exit out and it will hang occasionally and leave stale mount points. I have also seen occasionally fuse going brain dead (the listing will go empty and the user side callbacks will not receive anything) which I am hoping is due to previous unclean shutdowns.
I have now changed it to use the fuse_mount, fuse_new, fuse_loop_mt methods to setup fuse. When I try to exit out by calling fuse_exit , nothing happens and looking at the fuse source it looks like it is waiting on read and only when it breaks out, it can check that the exit is requested. So I have tried calling fuse_exit followed by fuse_unmount and then followed by fuse_destroy. The fuse_unmount causes the fuse_loop_mt to breakout but the fuse_unmount call itself takes a long time (probably 30 seconds) to return.
I would be grateful if someone can point me to some documentation or sample that shows how to properly unmount and clean up.
Best Regards
Anis