From 302d73a078a88340ebc00f413382b558c2308556 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 26 Jul 2024 14:54:05 -0500 Subject: [PATCH] unmount if initilization fails --- repertory/librepertory/src/drives/fuse/fuse_base.cpp | 8 +++++++- repertory/repertory/main.cpp | 1 + repertory/repertory_test/main.cpp | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/repertory/librepertory/src/drives/fuse/fuse_base.cpp b/repertory/librepertory/src/drives/fuse/fuse_base.cpp index 31aabfde..07c40d0a 100644 --- a/repertory/librepertory/src/drives/fuse/fuse_base.cpp +++ b/repertory/librepertory/src/drives/fuse/fuse_base.cpp @@ -359,9 +359,15 @@ auto fuse_base::init_impl([[maybe_unused]] struct fuse_conn_info *conn, #else auto fuse_base::init_impl(struct fuse_conn_info *conn) -> void * { #endif + constexpr const auto *function_name = static_cast(__FUNCTION__); + utils::file::change_to_process_directory(); if (not console_enabled_) { - repertory::project_initialize(); + if (not repertory::project_initialize()) { + utils::error::raise_error(function_name, + "failed to initialize repertory"); + event_system::instance().raise(); + } } #if defined(__APPLE__) diff --git a/repertory/repertory/main.cpp b/repertory/repertory/main.cpp index a8cd1b1c..ec7462d8 100644 --- a/repertory/repertory/main.cpp +++ b/repertory/repertory/main.cpp @@ -37,6 +37,7 @@ auto main(int argc, char **argv) -> int { #endif if (not repertory::project_initialize()) { + std::cerr << "fatal: failed to initialize repertory" << std::endl; return -1; } diff --git a/repertory/repertory_test/main.cpp b/repertory/repertory_test/main.cpp index 3eea32c7..e24ce7f2 100644 --- a/repertory/repertory_test/main.cpp +++ b/repertory/repertory_test/main.cpp @@ -21,6 +21,7 @@ */ #include "initialize.hpp" #include "test_common.hpp" +#include "utils/error_utils.hpp" #if defined(_WIN32) #include "utils/cli_utils.hpp" #endif // _WIN32 @@ -33,6 +34,7 @@ std::size_t PROVIDER_INDEX{0U}; auto main(int argc, char **argv) -> int { if (not repertory::project_initialize()) { + std::cerr << "fatal: failed to initialize repertory" << std::endl; return -1; }