diff options
author | Jeff Garzik <jgarzik@pretzel.yyz.us> | 2005-06-18 13:21:24 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-18 13:21:24 -0400 |
commit | f9d1fe9630b94007902987c39d19f04dc6256eac (patch) | |
tree | 1fbe757adc72469ddbc3c1e4132392164b2e0271 /arch/um/kernel/skas/process_kern.c | |
parent | 54258a8a2e81b11e486068f1cfab9fe4746b8420 (diff) | |
parent | 9ee1c939d1cb936b1f98e8d81aeffab57bae46ab (diff) | |
download | talos-obmc-linux-f9d1fe9630b94007902987c39d19f04dc6256eac.tar.gz talos-obmc-linux-f9d1fe9630b94007902987c39d19f04dc6256eac.zip |
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'arch/um/kernel/skas/process_kern.c')
-rw-r--r-- | arch/um/kernel/skas/process_kern.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/um/kernel/skas/process_kern.c b/arch/um/kernel/skas/process_kern.c index ab5d3271da0b..fc71ef295782 100644 --- a/arch/um/kernel/skas/process_kern.c +++ b/arch/um/kernel/skas/process_kern.c @@ -68,8 +68,11 @@ void new_thread_handler(int sig) * 0 if it just exits */ n = run_kernel_thread(fn, arg, ¤t->thread.exec_buf); - if(n == 1) + if(n == 1){ + /* Handle any immediate reschedules or signals */ + interrupt_end(); userspace(¤t->thread.regs.regs); + } else do_exit(0); } @@ -96,6 +99,8 @@ void fork_handler(int sig) schedule_tail(current->thread.prev_sched); current->thread.prev_sched = NULL; + /* Handle any immediate reschedules or signals */ + interrupt_end(); userspace(¤t->thread.regs.regs); } |