autocommit 2022-04-11 19:56:52 CEST
This commit is contained in:
parent
86ca98c38a
commit
d9d1addbf5
3 changed files with 23 additions and 3 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
|
@ -700,9 +700,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uapi"
|
name = "uapi"
|
||||||
version = "0.2.7"
|
version = "0.2.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ea2a608d845b3ddcf7769250f94124d29e346c0f8fdb935756c6b758ac5d9b59"
|
checksum = "7e1cab2fc800ded6ae4bc579e8c563a7dba3e1691510c1a82375409e44aa5b58"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"cfg-if 0.1.10",
|
"cfg-if 0.1.10",
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ panic = "abort"
|
||||||
panic = "abort"
|
panic = "abort"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
uapi = "0.2.7"
|
uapi = "0.2.9"
|
||||||
thiserror = "1.0.30"
|
thiserror = "1.0.30"
|
||||||
ahash = "0.7.6"
|
ahash = "0.7.6"
|
||||||
log = { version = "0.4.16", features = ["std"] }
|
log = { version = "0.4.16", features = ["std"] }
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
use uapi::c;
|
||||||
use {
|
use {
|
||||||
crate::{
|
crate::{
|
||||||
acceptor::{Acceptor, AcceptorError},
|
acceptor::{Acceptor, AcceptorError},
|
||||||
|
|
@ -35,6 +36,8 @@ use {
|
||||||
std::{cell::Cell, ops::Deref, rc::Rc, sync::Arc},
|
std::{cell::Cell, ops::Deref, rc::Rc, sync::Arc},
|
||||||
thiserror::Error,
|
thiserror::Error,
|
||||||
};
|
};
|
||||||
|
use crate::utils::oserror::OsError;
|
||||||
|
use crate::utils::tri::Try;
|
||||||
|
|
||||||
pub const MAX_EXTENTS: i32 = (1 << 24) - 1;
|
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());
|
eprintln!("See {} for more details.", logger.path());
|
||||||
std::process::exit(1);
|
std::process::exit(1);
|
||||||
}
|
}
|
||||||
|
log::info!("Exit");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Error)]
|
#[derive(Debug, Error)]
|
||||||
|
|
@ -72,6 +76,7 @@ enum MainError {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main_(forker: Rc<ForkerProxy>, logger: Arc<Logger>, _args: &RunArgs) -> Result<(), MainError> {
|
fn main_(forker: Rc<ForkerProxy>, logger: Arc<Logger>, _args: &RunArgs) -> Result<(), MainError> {
|
||||||
|
init_fd_limit();
|
||||||
leaks::init();
|
leaks::init();
|
||||||
render::init()?;
|
render::init()?;
|
||||||
clientmem::init()?;
|
clientmem::init()?;
|
||||||
|
|
@ -195,3 +200,18 @@ fn main_(forker: Rc<ForkerProxy>, logger: Arc<Logger>, _args: &RunArgs) -> Resul
|
||||||
leaks::log_leaked();
|
leaks::log_leaked();
|
||||||
Ok(())
|
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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue