1
0
Fork 0
forked from wry/wry

autocommit 2022-04-11 19:56:52 CEST

This commit is contained in:
Julian Orth 2022-04-11 19:56:52 +02:00
parent 86ca98c38a
commit d9d1addbf5
3 changed files with 23 additions and 3 deletions

4
Cargo.lock generated
View file

@ -700,9 +700,9 @@ dependencies = [
[[package]]
name = "uapi"
version = "0.2.7"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea2a608d845b3ddcf7769250f94124d29e346c0f8fdb935756c6b758ac5d9b59"
checksum = "7e1cab2fc800ded6ae4bc579e8c563a7dba3e1691510c1a82375409e44aa5b58"
dependencies = [
"cc",
"cfg-if 0.1.10",

View file

@ -14,7 +14,7 @@ panic = "abort"
panic = "abort"
[dependencies]
uapi = "0.2.7"
uapi = "0.2.9"
thiserror = "1.0.30"
ahash = "0.7.6"
log = { version = "0.4.16", features = ["std"] }

View file

@ -1,3 +1,4 @@
use uapi::c;
use {
crate::{
acceptor::{Acceptor, AcceptorError},
@ -35,6 +36,8 @@ use {
std::{cell::Cell, ops::Deref, rc::Rc, sync::Arc},
thiserror::Error,
};
use crate::utils::oserror::OsError;
use crate::utils::tri::Try;
pub const MAX_EXTENTS: i32 = (1 << 24) - 1;
@ -51,6 +54,7 @@ pub fn start_compositor(global: GlobalArgs, args: RunArgs) {
eprintln!("See {} for more details.", logger.path());
std::process::exit(1);
}
log::info!("Exit");
}
#[derive(Debug, Error)]
@ -72,6 +76,7 @@ enum MainError {
}
fn main_(forker: Rc<ForkerProxy>, logger: Arc<Logger>, _args: &RunArgs) -> Result<(), MainError> {
init_fd_limit();
leaks::init();
render::init()?;
clientmem::init()?;
@ -195,3 +200,18 @@ fn main_(forker: Rc<ForkerProxy>, logger: Arc<Logger>, _args: &RunArgs) -> Resul
leaks::log_leaked();
Ok(())
}
fn init_fd_limit() {
let res = OsError::tri(|| {
let mut cur = uapi::getrlimit(c::RLIMIT_NOFILE as _)?;
if cur.rlim_cur < cur.rlim_max {
log::info!("Increasing file descriptor limit from {} to {}", cur.rlim_cur, cur.rlim_max);
cur.rlim_cur = cur.rlim_max;
uapi::setrlimit(c::RLIMIT_NOFILE as _, &cur)?;
}
Ok(())
});
if let Err(e) = res {
log::warn!("Could not increase file descriptor limit: {}", ErrorFmt(e));
}
}