remove options from Job::create_child

This commit is contained in:
Runji Wang 2020-08-13 12:12:29 +08:00
parent ecf57d0bec
commit 4c7a3b802a
4 changed files with 20 additions and 21 deletions

View File

@ -538,7 +538,7 @@ mod tests {
#[test]
fn exceptionate_iterator() {
let parent_job = Job::root();
let job = parent_job.create_child(0).unwrap();
let job = parent_job.create_child().unwrap();
let proc = Process::create(&job, "proc", 0).unwrap();
let thread = Thread::create(&proc, "thread", 0).unwrap();
@ -559,7 +559,7 @@ mod tests {
#[test]
fn exceptionate_iterator_second_chance() {
let parent_job = Job::root();
let job = parent_job.create_child(0).unwrap();
let job = parent_job.create_child().unwrap();
let proc = Process::create(&job, "proc", 0).unwrap();
let thread = Thread::create(&proc, "thread", 0).unwrap();
@ -582,9 +582,9 @@ mod tests {
#[test]
fn job_debugger_iterator() {
let parent_job = Job::root();
let job = parent_job.create_child(0).unwrap();
let child_job = job.create_child(0).unwrap();
let _grandson_job = child_job.create_child(0).unwrap();
let job = parent_job.create_child().unwrap();
let child_job = job.create_child().unwrap();
let _grandson_job = child_job.create_child().unwrap();
let iterator = JobDebuggerIterator::new(child_job.clone());
let expected = [
@ -600,7 +600,7 @@ mod tests {
#[async_std::test]
async fn exception_handling() {
let parent_job = Job::root();
let job = parent_job.create_child(0).unwrap();
let job = parent_job.create_child().unwrap();
let proc = Process::create(&job, "proc", 0).unwrap();
let thread = Thread::create(&proc, "thread", 0).unwrap();

View File

@ -85,8 +85,7 @@ impl Job {
}
/// Create a new child job object.
pub fn create_child(self: &Arc<Self>, _options: u32) -> ZxResult<Arc<Self>> {
// TODO: options
pub fn create_child(self: &Arc<Self>) -> ZxResult<Arc<Self>> {
let mut inner = self.inner.lock();
if inner.killed {
return Err(ZxError::BAD_STATE);
@ -298,14 +297,14 @@ mod tests {
fn create() {
let root_job = Job::root();
let job: Arc<dyn KernelObject> =
Job::create_child(&root_job, 0).expect("failed to create job");
Job::create_child(&root_job).expect("failed to create job");
assert!(Arc::ptr_eq(&root_job.get_child(job.id()).unwrap(), &job));
assert_eq!(job.related_koid(), root_job.id());
assert_eq!(root_job.related_koid(), 0);
root_job.kill();
assert_eq!(root_job.create_child(0).err(), Some(ZxError::BAD_STATE));
assert_eq!(root_job.create_child().err(), Some(ZxError::BAD_STATE));
}
#[test]
@ -345,7 +344,7 @@ mod tests {
);
// create a child job
let job = Job::create_child(&root_job, 0).expect("failed to create job");
let job = Job::create_child(&root_job).expect("failed to create job");
// should inherit parent's policy.
assert_eq!(
@ -393,7 +392,7 @@ mod tests {
#[test]
fn parent_child() {
let root_job = Job::root();
let job = Job::create_child(&root_job, 0).expect("failed to create job");
let job = Job::create_child(&root_job).expect("failed to create job");
let proc = Process::create(&root_job, "proc", 0).expect("failed to create process");
assert_eq!(root_job.get_child(job.id()).unwrap().id(), job.id());
@ -404,20 +403,20 @@ mod tests {
);
assert!(Arc::ptr_eq(&job.parent().unwrap(), &root_job));
let job1 = root_job.create_child(0).expect("failed to create job");
let job1 = root_job.create_child().expect("failed to create job");
let proc1 = Process::create(&root_job, "proc1", 0).expect("failed to create process");
assert_eq!(root_job.children_ids(), vec![job.id(), job1.id()]);
assert_eq!(root_job.process_ids(), vec![proc.id(), proc1.id()]);
root_job.kill();
assert_eq!(root_job.create_child(0).err(), Some(ZxError::BAD_STATE));
assert_eq!(root_job.create_child().err(), Some(ZxError::BAD_STATE));
}
#[test]
fn check() {
let root_job = Job::root();
assert!(root_job.is_empty());
let job = root_job.create_child(0).expect("failed to create job");
let job = root_job.create_child().expect("failed to create job");
assert_eq!(root_job.check_root_job(), Ok(()));
assert_eq!(job.check_root_job(), Err(ZxError::ACCESS_DENIED));
@ -431,7 +430,7 @@ mod tests {
#[test]
fn kill() {
let root_job = Job::root();
let job = Job::create_child(&root_job, 0).expect("failed to create job");
let job = Job::create_child(&root_job).expect("failed to create job");
let proc = Process::create(&root_job, "proc", 0).expect("failed to create process");
let thread = Thread::create(&proc, "thread", 0).expect("failed to create thread");
@ -465,7 +464,7 @@ mod tests {
// The job's process have no threads.
let root_job = Job::root();
let job = Job::create_child(&root_job, 0).expect("failed to create job");
let job = Job::create_child(&root_job).expect("failed to create job");
let proc = Process::create(&root_job, "proc", 0).expect("failed to create process");
root_job.kill();
assert!(root_job.inner.lock().killed);
@ -479,8 +478,8 @@ mod tests {
#[test]
fn critical_process() {
let root_job = Job::root();
let job = root_job.create_child(0).unwrap();
let job1 = root_job.create_child(0).unwrap();
let job = root_job.create_child().unwrap();
let job1 = root_job.create_child().unwrap();
let proc = Process::create(&job, "proc", 0).expect("failed to create process");

View File

@ -782,7 +782,7 @@ mod tests {
Some(ZxError::ACCESS_DENIED)
);
let _job = root_job.create_child(0).unwrap();
let _job = root_job.create_child().unwrap();
assert_eq!(
root_job
.set_policy_basic(SetPolicyOptions::Absolute, &[policy1, policy2])

View File

@ -262,7 +262,7 @@ impl Syscall<'_> {
let parent_job = proc
.get_object_with_rights::<Job>(parent, Rights::MANAGE_JOB)
.or_else(|_| proc.get_object_with_rights::<Job>(parent, Rights::WRITE))?;
let child = parent_job.create_child(options)?;
let child = parent_job.create_child()?;
out.write(proc.add_handle(Handle::new(child, Rights::DEFAULT_JOB)))?;
Ok(())
}