diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-25 02:15:31 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-26 12:14:18 +0200 |
commit | a90aee22ba86b78850e784dbc789b70bd7c5087f (patch) | |
tree | 17144f93b021abd2a5e95acf50d60c5fbfb55d67 /kern | |
parent | 16d75136885bc7c8779b95f33e4e1c2f4ee20762 (diff) |
kern/bootstrap: tune locking
* kern/bootstrap.c (boot_script_exec_cmd): Avoid holding the lock
across the call to `thread_create'.
Diffstat (limited to 'kern')
-rw-r--r-- | kern/bootstrap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kern/bootstrap.c b/kern/bootstrap.c index cb0f976..aad0fb1 100644 --- a/kern/bootstrap.c +++ b/kern/bootstrap.c @@ -719,10 +719,10 @@ boot_script_exec_cmd (void *hook, task_t task, char *path, int argc, thread_t thread; struct user_bootstrap_info info = { mod, argv, 0, }; simple_lock_init (&info.lock); - simple_lock (&info.lock); err = thread_create ((task_t)task, &thread); assert(err == 0); + simple_lock (&info.lock); thread->saved.other = &info; thread_start (thread, user_bootstrap); err = thread_resume (thread); |