This commit is contained in:
Scott E. Graves 2025-03-22 15:43:45 -05:00
parent e6793f0d6c
commit f9ec02bf3f
2 changed files with 11 additions and 2 deletions

View File

@ -933,24 +933,26 @@ auto app_config::get_preferred_download_type() const -> download_type {
auto app_config::get_provider_display_name(const provider_type &prov) auto app_config::get_provider_display_name(const provider_type &prov)
-> std::string { -> std::string {
static const std::array<std::string, static const std::array<std::string,
static_cast<std::size_t>(provider_type::unknown)> static_cast<std::size_t>(provider_type::unknown+1U)>
PROVIDER_DISPLAY_NAMES = { PROVIDER_DISPLAY_NAMES = {
"Sia", "Sia",
"Remote", "Remote",
"S3", "S3",
"Encrypt", "Encrypt",
"Unknown",
}; };
return PROVIDER_DISPLAY_NAMES.at(static_cast<std::size_t>(prov)); return PROVIDER_DISPLAY_NAMES.at(static_cast<std::size_t>(prov));
} }
auto app_config::get_provider_name(const provider_type &prov) -> std::string { auto app_config::get_provider_name(const provider_type &prov) -> std::string {
static const std::array<std::string, static const std::array<std::string,
static_cast<std::size_t>(provider_type::unknown)> static_cast<std::size_t>(provider_type::unknown+1U)>
PROVIDER_NAMES = { PROVIDER_NAMES = {
"sia", "sia",
"remote", "remote",
"s3", "s3",
"encrypt", "encrypt",
"unknown",
}; };
return PROVIDER_NAMES.at(static_cast<std::size_t>(prov)); return PROVIDER_NAMES.at(static_cast<std::size_t>(prov));
} }

View File

@ -99,11 +99,18 @@ mount(std::vector<const char *> args, std::string data_directory,
auto drive_args = utils::cli::parse_drive_options(args, prov, data_directory); auto drive_args = utils::cli::parse_drive_options(args, prov, data_directory);
app_config config(prov, data_directory); app_config config(prov, data_directory);
{ {
lock_data global_lock(provider_type::unknown, "global");
res = global_lock.grab_lock();
if (res != lock_result::success) {
return exit_code::lock_failed;
}
std::uint16_t port{}; std::uint16_t port{};
if (not utils::get_next_available_port(config.get_api_port(), port)) { if (not utils::get_next_available_port(config.get_api_port(), port)) {
std::cerr << "FATAL: Unable to get available port" << std::endl; std::cerr << "FATAL: Unable to get available port" << std::endl;
return exit_code::startup_exception; return exit_code::startup_exception;
} }
global_lock.release();
config.set_api_port(port); config.set_api_port(port);
} }