diff --git a/vendored/libfuse/lib/fuse_signals.cpp b/vendored/libfuse/lib/fuse_signals.cpp index 63dc76be..c8dcba9e 100644 --- a/vendored/libfuse/lib/fuse_signals.cpp +++ b/vendored/libfuse/lib/fuse_signals.cpp @@ -21,8 +21,11 @@ void exit_handler(int sig) { (void)sig; - if (fuse_instance) - fuse_session_exit(fuse_instance); + struct fuse_session *instance; + + instance = g_fuse_instance.load(std::memory_order_acquire); + if(instance) + fuse_session_exit(instance); } static int set_one_signal_handler(int sig, void (*handler)(int), int remove)