diff --git a/vendored/libfuse/lib/fuse_signals.cpp b/vendored/libfuse/lib/fuse_signals.cpp index c9ea7e6b..447d2701 100644 --- a/vendored/libfuse/lib/fuse_signals.cpp +++ b/vendored/libfuse/lib/fuse_signals.cpp @@ -66,13 +66,13 @@ int fuse_set_signal_handlers(struct fuse_session *se) void fuse_remove_signal_handlers(struct fuse_session *se) { - if(g_fuse_instance.load(std::memory_order_acquire) != se) - fprintf(stderr,"mergerfs: fuse_remove_signal_handlers: unknown session\n"); - else - g_fuse_instance.store(nullptr,std::memory_order_release); - set_one_signal_handler(SIGINT, exit_handler, 1); set_one_signal_handler(SIGTERM, exit_handler, 1); set_one_signal_handler(SIGQUIT, exit_handler, 1); set_one_signal_handler(SIGPIPE, SIG_IGN, 1); + + if(g_fuse_instance.load(std::memory_order_acquire) != se) + fprintf(stderr,"mergerfs: fuse_remove_signal_handlers: unknown session\n"); + else + g_fuse_instance.store(nullptr,std::memory_order_release); }