aura-gui 0.2.2

UI nativa acelerada por GPU para escritorio, Android e iOS, en un solo crate: estilo tipo Tailwind, componentes, sombras, animaciones y agentes de IA. Reposo a cero. Licencia AGPL-3.0 o comercial.
//! Devolución de páginas ya liberadas tras ráfagas de trabajo.
//!
//! macOS conserva páginas libres del asignador que siguen contando en el
//! footprint del proceso. `malloc_zone_pressure_relief` las devuelve al sistema
//! sin tocar memoria viva ni cachés en uso. Se llama una sola vez, cuando la
//! aplicación lleva un tiempo ociosa: no es un bucle de sondeo ni un GC.

/// Devuelve al sistema las páginas libres del asignador. Sin efecto fuera de macOS.
pub fn release_freed_pages() {
    #[cfg(target_os = "macos")]
    unsafe extern "C" {
        fn malloc_zone_pressure_relief(zone: *mut core::ffi::c_void, goal: usize) -> usize;
    }
    #[cfg(target_os = "macos")]
    {
        // `zone = NULL` aplica a todas las zonas; `goal = 0` libera todo lo posible.
        unsafe { malloc_zone_pressure_relief(std::ptr::null_mut(), 0) };
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn relief_is_safe_without_arguments_and_can_repeat() {
        release_freed_pages();
        release_freed_pages();
    }
}