compositor: add common parent for both compostior and forker
This commit is contained in:
parent
fdfc20452f
commit
4fa7e2a6ac
3 changed files with 136 additions and 23 deletions
|
|
@ -44,9 +44,9 @@ use {
|
|||
},
|
||||
user_session::import_environment,
|
||||
utils::{
|
||||
clonecell::CloneCell, errorfmt::ErrorFmt, fdcloser::FdCloser, numcell::NumCell,
|
||||
oserror::OsError, queue::AsyncQueue, refcounted::RefCounted, run_toplevel::RunToplevel,
|
||||
tri::Try,
|
||||
clone3::ensure_reaper, clonecell::CloneCell, errorfmt::ErrorFmt, fdcloser::FdCloser,
|
||||
numcell::NumCell, oserror::OsError, queue::AsyncQueue, refcounted::RefCounted,
|
||||
run_toplevel::RunToplevel, tri::Try,
|
||||
},
|
||||
version::VERSION,
|
||||
video::drm::wait_for_sync_obj::WaitForSyncObj,
|
||||
|
|
@ -64,7 +64,8 @@ pub const MAX_EXTENTS: i32 = (1 << 22) - 1;
|
|||
|
||||
pub fn start_compositor(global: GlobalArgs, args: RunArgs) {
|
||||
sighand::reset_all();
|
||||
let forker = create_forker();
|
||||
let reaper_pid = ensure_reaper();
|
||||
let forker = create_forker(reaper_pid);
|
||||
let portal = portal::run_from_compositor(global.log_level.into());
|
||||
enable_profiler();
|
||||
let logger = Logger::install_compositor(global.log_level.into());
|
||||
|
|
@ -94,8 +95,8 @@ pub fn start_compositor_for_test(future: TestFuture) -> Result<(), CompositorErr
|
|||
res
|
||||
}
|
||||
|
||||
fn create_forker() -> Rc<ForkerProxy> {
|
||||
match ForkerProxy::create() {
|
||||
fn create_forker(reaper_pid: c::pid_t) -> Rc<ForkerProxy> {
|
||||
match ForkerProxy::create(reaper_pid) {
|
||||
Ok(f) => Rc::new(f),
|
||||
Err(e) => fatal!("Could not create a forker process: {}", ErrorFmt(e)),
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue