summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-02-21 20:15:47 +0100
committerGustav Sörnäs <gustav@sornas.net>2021-02-21 20:15:47 +0100
commit1fd6257c7dc5e7490f8fd7fc7a5316dc1419c0a6 (patch)
tree67fdcc6f1ae1129cb9637760b2b8159ed82c16f7 /src
parent83b6103986c65ad580b4b7f038660bfa01f1d087 (diff)
downloadpintos-1fd6257c7dc5e7490f8fd7fc7a5316dc1419c0a6.tar.gz
pass pc-struct instead of list_elem from child to parent
Diffstat (limited to 'src')
-rw-r--r--src/userprog/process.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/userprog/process.c b/src/userprog/process.c
index 5f7448b..e99374b 100644
--- a/src/userprog/process.c
+++ b/src/userprog/process.c
@@ -28,7 +28,7 @@ struct start_process_args
// child -> parent
bool success;
- struct list_elem *child_elem; // list_elem to insert into list of children
+ struct parent_child *child;
};
static thread_func start_process NO_RETURN;
@@ -68,7 +68,7 @@ process_execute (const char *file_name)
sema_down (&args.sema);
if (args.success) {
- list_push_back (&t->children, args.child_elem);
+ list_push_back (&t->children, &args.child->elem);
} else {
tid = -1;
}
@@ -101,7 +101,7 @@ start_process (void *args_)
sema_init (&t->parent.exit_sema, 0);
lock_init (&t->parent.l);
- args->child_elem = &t->parent.elem;
+ args->child = &t->parent;
}
sema_up (&args->sema);