The arch_thread::current_iframe was not only redundant, but also incorrectly

maintained. Removed it completely.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9291 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2004-10-12 03:48:51 +00:00
parent 27d0a0aaff
commit 21942ca92a
1 changed files with 6 additions and 6 deletions

View File

@ -164,13 +164,11 @@ void i386_handle_trap(struct iframe frame);
void
i386_handle_trap(struct iframe frame)
{
int ret = B_HANDLED_INTERRUPT;
struct thread *thread = thread_get_current_thread();
int ret = B_HANDLED_INTERRUPT;
if (thread) {
if (thread)
i386_push_iframe(thread, &frame);
thread->arch_info.current_iframe = &frame;
}
// if(frame.vector != 0x20)
// dprintf("i386_handle_trap: vector 0x%x, ip 0x%x, cpu %d\n", frame.vector, frame.eip, smp_get_current_cpu());
@ -255,11 +253,13 @@ i386_handle_trap(struct iframe frame)
}
break;
}
if (ret == B_INVOKE_SCHEDULER) {
int state = disable_interrupts();
cpu_status state = disable_interrupts();
GRAB_THREAD_LOCK();
scheduler_reschedule();
RELEASE_THREAD_LOCK();
restore_interrupts(state);
}