47,7 → 47,6 |
#include <panic.h> |
#include <print.h> |
#include <symtab.h> |
#include <tdebug/tdebug.h> |
|
static struct { |
const char *name; |
88,18 → 87,7 |
{ |
ASSERT(n < IVT_ITEMS); |
|
if (THREAD && istate_from_uspace(istate)) { |
/* Record userspace state */ |
THREAD->tdebug.uspace_state = istate; |
} |
|
exc_table[n].f(n + IVT_FIRST, istate); |
|
if (THREAD && istate_from_uspace(istate)) { |
/* Clear it again (mostly for dev. and debugging purposes) */ |
THREAD->tdebug.uspace_state = NULL; |
} |
|
/* This is a safe place to exit exiting thread */ |
if (THREAD && THREAD->interrupted && istate_from_uspace(istate)) |
thread_exit(); |