diff --git a/redox-rt/src/proc.rs b/redox-rt/src/proc.rs index ba8b290b42..b70cff554d 100644 --- a/redox-rt/src/proc.rs +++ b/redox-rt/src/proc.rs @@ -444,6 +444,15 @@ where &[ProcCall::Rename as u64], ); } + + // TODO: Error handling + let _ = proc_call( + **proc_fd, + &mut [], + CallFlags::empty(), + &[ProcCall::DisableSetpgid as u64], + ); + if interp_override.is_some() { let mmap_min_fd = FdGuard::new(syscall::dup(*grants_fd, b"mmap-min-addr")?); let last_addr = tree.iter().rev().nth(1).map_or(0, |(off, len)| *off + *len); diff --git a/redox-rt/src/protocol.rs b/redox-rt/src/protocol.rs index 75fe33f8ac..0facb2592f 100644 --- a/redox-rt/src/protocol.rs +++ b/redox-rt/src/protocol.rs @@ -36,6 +36,7 @@ pub enum ProcCall { Sigdeq = 11, Getppid = 12, Rename = 13, + DisableSetpgid = 14, } #[derive(Clone, Copy, Debug, Eq, PartialEq)] #[repr(usize)] @@ -63,6 +64,7 @@ impl ProcCall { 11 => Self::Sigdeq, 12 => Self::Getppid, 13 => Self::Rename, + 14 => Self::DisableSetpgid, _ => return None, }) }