This commit is contained in:
Jeremy Soller 2025-02-12 10:45:01 -07:00
commit b9b909c628
No known key found for this signature in database
GPG key ID: 670FDFB5428E05CA

View file

@ -1,6 +1,28 @@
mod file_manager;
/// Access glibc malloc tunables.
#[cfg(target_env = "gnu")]
mod malloc {
use std::os::raw::c_int;
const M_MMAP_THRESHOLD: c_int = -3;
extern "C" {
fn mallopt(param: c_int, value: c_int) -> c_int;
}
/// Prevents glibc from hoarding memory via memory fragmentation.
pub fn limit_mmap_threshold() {
unsafe {
mallopt(M_MMAP_THRESHOLD, 65536);
}
}
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
#[cfg(target_env = "gnu")]
malloc::limit_mmap_threshold();
//TODO: move file manager service to its own daemon?
let _conn_res = zbus::blocking::connection::Builder::session()?
.name("org.freedesktop.FileManager1")?