mirror of
https://github.com/ParrotXray/Mantis.git
synced 2026-08-24 19:00:27 +09:00
* refactor: Rename project from NetGuardia to Mantis * fix: convert mantis-frontend from tracked files to submodule * wip * feat: Suricata integration stabilization and config unification Fix a series of bugs in the Suricata daemon integration and unify configuration so users interact only with config.toml. * docs: sur-001-c1 Suricata integration stabilization findings
15 lines
408 B
Rust
15 lines
408 B
Rust
use std::thread;
|
|
|
|
pub fn set_cpu_affinity(cpu: usize) {
|
|
#[cfg(target_os = "linux")]
|
|
unsafe {
|
|
let mut cpuset: libc::cpu_set_t = std::mem::zeroed();
|
|
libc::CPU_SET(cpu % num_cpus(), &mut cpuset);
|
|
libc::sched_setaffinity(0, std::mem::size_of::<libc::cpu_set_t>(), &cpuset);
|
|
}
|
|
}
|
|
|
|
pub fn num_cpus() -> usize {
|
|
thread::available_parallelism().map(|n| n.get()).unwrap_or(1)
|
|
}
|