32 pid_t m_pid_to_die_for;
33 std::filesystem::path m_path_dir_mount;
34 std::filesystem::path m_path_file_log;
35 std::unique_ptr<ns_subprocess::Child> m_child;
37 , std::filesystem::path
const& path_dir_mount
38 , std::filesystem::path
const& path_file_log
58 , std::filesystem::path
const& path_dir_mount
59 , std::filesystem::path
const& path_file_log
61 : m_pid_to_die_for(pid_to_die_for)
62 , m_path_dir_mount(path_dir_mount)
63 , m_path_file_log(path_file_log)
75 ns_fuse::unmount(m_path_dir_mount).discard(
"E::Could not un-mount filesystem '{}'", m_path_dir_mount);
77 return_if(not m_child,,
"E::No fuse sub-process for '{}'", m_path_dir_mount.string());
79 if (pid_t pid = m_child->get_pid().value_or(-1); pid > 0)
84 std::ignore = m_child->wait();
Filesystem(pid_t pid_to_die_for, std::filesystem::path const &path_dir_mount, std::filesystem::path const &path_file_log)
Construct a new Filesystem object.
virtual ~Filesystem()
Destroy the Filesystem:: Filesystem object, it un-mounts the filesystem and sends a termination signa...
A library for operations on fuse filesystems.
Base filesystem interface and abstraction.
Value< int > unmount(fs::path const &path_dir_mount)
Un-mounts the given fuse mount point.
Enhanced expected type with integrated logging capabilities.