From 8b801a69f8e0c2c4ef7e32a2476786f80f433b8e Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 12 Feb 2011 10:04:27 -0800 Subject: [PATCH] thread: Do not disable interrupts unnecessarily while initializing stack. Reported by Francis Russell . --- src/threads/thread.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/threads/thread.c b/src/threads/thread.c index d68c123..87f22b8 100644 --- a/src/threads/thread.c +++ b/src/threads/thread.c @@ -171,7 +171,6 @@ thread_create (const char *name, int priority, struct switch_entry_frame *ef; struct switch_threads_frame *sf; tid_t tid; - enum intr_level old_level; ASSERT (function != NULL); @@ -184,11 +183,6 @@ thread_create (const char *name, int priority, init_thread (t, name, priority); tid = t->tid = allocate_tid (); - /* Prepare thread for first run by initializing its stack. - Do this atomically so intermediate values for the 'stack' - member cannot be observed. */ - old_level = intr_disable (); - /* Stack frame for kernel_thread(). */ kf = alloc_frame (t, sizeof *kf); kf->eip = NULL; @@ -204,8 +198,6 @@ thread_create (const char *name, int priority, sf->eip = switch_entry; sf->ebp = 0; - intr_set_level (old_level); - /* Add to run queue. */ thread_unblock (t); -- 2.30.2