0.0.1
This commit is contained in:
48
kb_app/src/main.rs
Normal file
48
kb_app/src/main.rs
Normal file
@@ -0,0 +1,48 @@
|
||||
// file: kb_app/src/main.rs
|
||||
|
||||
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
|
||||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||
|
||||
//! Binary entrypoint for the kb application.
|
||||
//!
|
||||
//! This binary remains intentionally thin and delegates its logic to `kb_lib`.
|
||||
|
||||
#![deny(unreachable_pub)]
|
||||
#![warn(missing_docs)]
|
||||
|
||||
use fs2::FileExt;
|
||||
|
||||
/// Entrypoint of the kb app binary.
|
||||
#[tokio::main]
|
||||
async
|
||||
fn main() -> std::process::ExitCode
|
||||
{
|
||||
let mut lock_path = std::env::temp_dir();
|
||||
lock_path.push("com_khadhroony_solana_rust.lock");
|
||||
let lock_file = match std::fs::File::create(lock_path) {
|
||||
Ok(lock) => lock,
|
||||
Err(_err) => {
|
||||
eprintln!("Cannot create lock!");
|
||||
std::process::exit(1);
|
||||
},
|
||||
};
|
||||
// trying to aquire an exclusive lock
|
||||
if lock_file.try_lock_exclusive().is_err() {
|
||||
eprintln!("Another instance of the app is already running!");
|
||||
std::process::exit(1);
|
||||
}
|
||||
|
||||
if rustls::crypto::CryptoProvider::get_default().is_none() {
|
||||
let provider_result = rustls::crypto::aws_lc_rs::default_provider().install_default();
|
||||
match provider_result {
|
||||
Ok(()) => {},
|
||||
Err(error) => {
|
||||
eprintln!("kb_app rustls provider init error: {:?}", error);
|
||||
return std::process::ExitCode::FAILURE;
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
kb_app_lib::run();
|
||||
std::process::ExitCode::SUCCESS
|
||||
}
|
||||
Reference in New Issue
Block a user