aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2020-11-25 17:08:43 +0100
committerAram Drevekenin <aram@poor.dev>2020-11-25 17:08:43 +0100
commit489ade6eb8fc113368ec034efa340c157eb45629 (patch)
tree420028d6e36bcdc23a996f872be4ef0514479afd /src/utils
parenthotfix(controls): clear buffer in normal mode (diff)
downloadsl0ppij-489ade6eb8fc113368ec034efa340c157eb45629.tar.gz
sl0ppij-489ade6eb8fc113368ec034efa340c157eb45629.tar.xz
sl0ppij-489ade6eb8fc113368ec034efa340c157eb45629.zip
hotfix(logging): atomically create tmp folders
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/consts.rs3
-rw-r--r--src/utils/logging.rs14
2 files changed, 15 insertions, 2 deletions
diff --git a/src/utils/consts.rs b/src/utils/consts.rs
index e0a6da9f..5aa6aab4 100644
--- a/src/utils/consts.rs
+++ b/src/utils/consts.rs
@@ -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";
diff --git a/src/utils/logging.rs b/src/utils/logging.rs
index 031813ed..4bd53743 100644
--- a/src/utils/logging.rs
+++ b/src/utils/logging.rs
@@ -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()