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 void
i386_handle_trap(struct iframe frame) i386_handle_trap(struct iframe frame)
{ {
int ret = B_HANDLED_INTERRUPT;
struct thread *thread = thread_get_current_thread(); struct thread *thread = thread_get_current_thread();
int ret = B_HANDLED_INTERRUPT;
if (thread) { if (thread)
i386_push_iframe(thread, &frame); i386_push_iframe(thread, &frame);
thread->arch_info.current_iframe = &frame;
}
// if(frame.vector != 0x20) // 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()); // 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; break;
} }
if (ret == B_INVOKE_SCHEDULER) { if (ret == B_INVOKE_SCHEDULER) {
int state = disable_interrupts(); cpu_status state = disable_interrupts();
GRAB_THREAD_LOCK(); GRAB_THREAD_LOCK();
scheduler_reschedule(); scheduler_reschedule();
RELEASE_THREAD_LOCK(); RELEASE_THREAD_LOCK();
restore_interrupts(state); restore_interrupts(state);
} }