diff options
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_kse.c | 2 | ||||
-rw-r--r-- | sys/kern/kern_thread.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_kse.c b/sys/kern/kern_kse.c index 0716d9b..2f5f10a 100644 --- a/sys/kern/kern_kse.c +++ b/sys/kern/kern_kse.c @@ -152,7 +152,9 @@ thread_init(void *mem, int size) ("size mismatch: %d != %d\n", size, (int)sizeof(struct thread))); td = (struct thread *)mem; + mtx_lock(&Giant); pmap_new_thread(td); + mtx_unlock(&Giant); cpu_thread_setup(td); cached_threads++; /* XXXSMP */ allocated_threads++; /* XXXSMP */ diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c index 0716d9b..2f5f10a 100644 --- a/sys/kern/kern_thread.c +++ b/sys/kern/kern_thread.c @@ -152,7 +152,9 @@ thread_init(void *mem, int size) ("size mismatch: %d != %d\n", size, (int)sizeof(struct thread))); td = (struct thread *)mem; + mtx_lock(&Giant); pmap_new_thread(td); + mtx_unlock(&Giant); cpu_thread_setup(td); cached_threads++; /* XXXSMP */ allocated_threads++; /* XXXSMP */ |