bool Assertion::Failure(const char* expr, const char* file, int line) { ++s_numAssertionFailures; if (s_handler) return s_handler(expr, file, line); return false; }
void do_signal(task_t* task) { if(task->signal) { void (*s_handler) (int) = (void (*) (int)) task->signal_handler; __asm__("sti"); exit_halt = 0; if(s_handler) s_handler(task->signal->sig); else if(task != kernel_task) _exit(-1); exit_halt = 1; struct signal_t* tmp = task->signal; task->signal = task->signal->next; kfree(tmp); } }