mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-09 06:56:49 +00:00
修复tcsetpgrp函数设置进程组不正确的问题 (#950)
This commit is contained in:
parent
047dbfd44b
commit
103f13024b
@ -5,7 +5,10 @@ use crate::{
|
|||||||
arch::ipc::signal::{SigSet, Signal},
|
arch::ipc::signal::{SigSet, Signal},
|
||||||
mm::VirtAddr,
|
mm::VirtAddr,
|
||||||
process::{Pid, ProcessManager},
|
process::{Pid, ProcessManager},
|
||||||
syscall::{user_access::UserBufferWriter, Syscall},
|
syscall::{
|
||||||
|
user_access::{UserBufferReader, UserBufferWriter},
|
||||||
|
Syscall,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::tty_core::{TtyCore, TtyIoctlCmd};
|
use super::tty_core::{TtyCore, TtyIoctlCmd};
|
||||||
@ -81,13 +84,13 @@ impl TtyJobCtrlManager {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// let user_reader = UserBufferReader::new(
|
let user_reader = UserBufferReader::new(
|
||||||
// VirtAddr::new(arg).as_ptr::<usize>(),
|
VirtAddr::new(arg).as_ptr::<i32>(),
|
||||||
// core::mem::size_of::<usize>(),
|
core::mem::size_of::<i32>(),
|
||||||
// true,
|
true,
|
||||||
// )?;
|
)?;
|
||||||
|
|
||||||
// let pgrp = user_reader.read_one_from_user::<usize>(0)?;
|
let pgrp = user_reader.read_one_from_user::<i32>(0)?;
|
||||||
|
|
||||||
let current = ProcessManager::current_pcb();
|
let current = ProcessManager::current_pcb();
|
||||||
|
|
||||||
@ -101,7 +104,7 @@ impl TtyJobCtrlManager {
|
|||||||
return Err(SystemError::ENOTTY);
|
return Err(SystemError::ENOTTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
ctrl.pgid = Some(Pid::new(arg));
|
ctrl.pgid = Some(Pid::new(*pgrp as usize));
|
||||||
|
|
||||||
return Ok(0);
|
return Ok(0);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user