diff --git a/src/main.rs b/src/main.rs index f2cb8bd..560ddc6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -511,6 +511,26 @@ fn privdrop(config: &Config) -> Result<(), Error> { Ok(()) } +#[cfg(not(target_family = "unix"))] +fn set_limits(config: &Config) -> Result<(), Error> { + Ok(()) +} + +#[cfg(target_family = "unix")] +fn set_limits(config: &Config) -> Result<(), Error> { + use rlimit::Resource; + let nb_descriptors = 2u32 + .saturating_mul( + config + .tcp_max_active_connections + .saturating_add(config.udp_max_active_connections) + .saturating_add(config.listen_addrs.len() as u32), + ) + .saturating_add(16); + Resource::NOFILE.set(nb_descriptors as _, nb_descriptors as _)?; + Ok(()) +} + fn main() -> Result<(), Error> { env_logger::Builder::from_default_env() .write_style(env_logger::WriteStyle::Never) @@ -790,23 +810,3 @@ fn main() -> Result<(), Error> { time_updater.stop()?; Ok(()) } - -#[cfg(not(target_family = "unix"))] -fn set_limits(config: &Config) -> Result<(), Error> { - Ok(()) -} - -#[cfg(target_family = "unix")] -fn set_limits(config: &Config) -> Result<(), Error> { - use rlimit::Resource; - let nb_descriptors = 2u32 - .saturating_mul( - config - .tcp_max_active_connections - .saturating_add(config.udp_max_active_connections) - .saturating_add(config.listen_addrs.len() as u32), - ) - .saturating_add(16); - Resource::NOFILE.set(nb_descriptors as _, nb_descriptors as _)?; - Ok(()) -}