| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
mod cli; |
| 7 |
|
| 8 |
#[cfg(feature = "alloc-stats")] |
| 9 |
#[global_allocator] |
| 10 |
static ALLOC: oxy_core::alloc_stats::Counting = oxy_core::alloc_stats::Counting; |
| 11 |
|
| 12 |
fn main() { |
| 13 |
|
| 14 |
|
| 15 |
#[cfg(unix)] |
| 16 |
unsafe { |
| 17 |
libc::signal(libc::SIGPIPE, libc::SIG_DFL); |
| 18 |
} |
| 19 |
|
| 20 |
|
| 21 |
|
| 22 |
|
| 23 |
#[cfg(all(target_os = "linux", target_env = "gnu"))] |
| 24 |
if std::env::var_os("MALLOC_ARENA_MAX").is_none() { |
| 25 |
unsafe { |
| 26 |
libc::mallopt(libc::M_ARENA_MAX, 2); |
| 27 |
} |
| 28 |
} |
| 29 |
let result = cli::run(); |
| 30 |
oxy_core::timing::memory_summary(); |
| 31 |
match result { |
| 32 |
Ok(code) => std::process::exit(code), |
| 33 |
Err(e) => { |
| 34 |
cli::ui::init(false); |
| 35 |
eprintln!("{} {e:#}", cli::ui::err("error:")); |
| 36 |
std::process::exit(1); |
| 37 |
} |
| 38 |
} |
| 39 |
} |