hotfix(logging): atomically create tmp folders
This commit is contained in:
parent
761695fe9b
commit
489ade6eb8
3 changed files with 21 additions and 3 deletions
|
|
@ -26,7 +26,10 @@ use crate::layout::Layout;
|
|||
use crate::os_input_output::{get_os_input, OsApi};
|
||||
use crate::pty_bus::{PtyBus, PtyInstruction, VteEvent};
|
||||
use crate::screen::{Screen, ScreenInstruction};
|
||||
use crate::utils::{consts::MOSAIC_IPC_PIPE, logging::*};
|
||||
use crate::utils::{
|
||||
consts::{MOSAIC_IPC_PIPE, MOSAIC_TMP_DIR, MOSAIC_TMP_LOG_DIR},
|
||||
logging::*,
|
||||
};
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug)]
|
||||
enum ApiCommand {
|
||||
|
|
@ -84,6 +87,8 @@ pub fn main() {
|
|||
stream.write_all(&api_command).unwrap();
|
||||
} else {
|
||||
let os_input = get_os_input();
|
||||
atomic_create_dir(MOSAIC_TMP_DIR).unwrap();
|
||||
atomic_create_dir(MOSAIC_TMP_LOG_DIR).unwrap();
|
||||
start(Box::new(os_input), opts);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
pub const MOSAIC_TMP_LOG_FILE: &str = "/tmp/mosaic/mosaic-log/log.txt";
|
||||
pub const MOSAIC_TMP_DIR: &str = "/tmp/mosaic";
|
||||
pub const MOSAIC_TMP_LOG_DIR: &str = "/tmp/mosaic/mosaic-log";
|
||||
pub const MOSAIC_TMP_LOG_FILE: &str = "/tmp/mosaic/mosaic-log/log.txt";
|
||||
pub const MOSAIC_IPC_PIPE: &str = "/tmp/mosaic/ipc";
|
||||
|
|
|
|||
|
|
@ -7,10 +7,22 @@ use std::{
|
|||
|
||||
use crate::utils::consts::{MOSAIC_TMP_LOG_DIR, MOSAIC_TMP_LOG_FILE};
|
||||
|
||||
fn atomic_create_file(file_name: &str) {
|
||||
pub fn atomic_create_file(file_name: &str) {
|
||||
let _ = fs::OpenOptions::new().create(true).open(file_name);
|
||||
}
|
||||
|
||||
pub fn atomic_create_dir(dir_name: &str) -> io::Result<()> {
|
||||
if let Err(e) = fs::create_dir(dir_name) {
|
||||
if e.kind() == std::io::ErrorKind::AlreadyExists {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(e)
|
||||
}
|
||||
} else {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
pub fn debug_log_to_file(message: String) -> io::Result<()> {
|
||||
atomic_create_file(MOSAIC_TMP_LOG_FILE);
|
||||
let mut file = fs::OpenOptions::new()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue