Compare commits

...

3 Commits

Author SHA1 Message Date
andy.boot
137bde1099 Fix: Try to stop panics on android.
Catch panics on thread initialization.
2022-08-26 17:12:39 +01:00
andy.boot
0d0206a5a5 Version: New version 2022-08-25 10:18:18 +01:00
andy.boot
dfce0eec66 Fix: Warn if configuring threads fails
User reported this unwrap could fail, so log an error instead of using a
naked unwrap.
2022-08-25 08:59:15 +01:00
3 changed files with 15 additions and 7 deletions

2
Cargo.lock generated
View File

@@ -197,7 +197,7 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
[[package]]
name = "du-dust"
version = "0.8.2"
version = "0.8.3"
dependencies = [
"ansi_term",
"assert_cmd",

View File

@@ -1,7 +1,7 @@
[package]
name = "du-dust"
description = "A more intuitive version of du"
version = "0.8.2"
version = "0.8.3"
authors = ["bootandy <bootandy@gmail.com>", "nebkor <code@ardent.nebcorp.com>"]
edition = "2021"
readme = "README.md"

View File

@@ -11,6 +11,7 @@ mod utils;
use crate::cli::build_cli;
use std::collections::HashSet;
use std::panic;
use std::process;
use self::display::draw_it;
@@ -19,6 +20,7 @@ use config::get_config;
use dir_walker::{walk_it, WalkData};
use filter::get_biggest;
use filter_type::get_all_file_types;
use rayon::ThreadPoolBuildError;
use regex::Regex;
use std::cmp::max;
use std::path::PathBuf;
@@ -154,11 +156,10 @@ fn main() {
by_filecount,
ignore_hidden: config.get_ignore_hidden(&options),
};
// Larger stack size to handle cases with lots of nested directories
rayon::ThreadPoolBuilder::new()
.stack_size(usize::pow(1024, 3))
.build_global()
.unwrap();
let pool = panic::catch_unwind(init_rayon);
if pool.is_err() {
eprintln!("Warning: Could not configure threads {:?}", pool.err());
}
let iso = config.get_iso(&options);
let (top_level_nodes, has_errors) = walk_it(simplified_dirs, walk_data);
@@ -191,3 +192,10 @@ fn main() {
)
}
}
fn init_rayon() -> Result<(), ThreadPoolBuildError> {
// Larger stack size to handle cases with lots of nested directories
rayon::ThreadPoolBuilder::new()
.stack_size(usize::pow(1024, 3))
.build_global()
}