native: indicate interrupt status in ISR context

pr/spi.typo
Ludwig Ortmann 9 years ago committed by Ludwig Knüpfer
parent 535eda8805
commit 3b6d0595ef

@ -279,6 +279,7 @@ void native_irq_handler(void)
void isr_set_sigmask(ucontext_t *ctx)
{
ctx->uc_sigmask = _native_sig_set_dint;
native_interrupts_enabled = 0;
}
/**

@ -120,16 +120,15 @@ void _native_syscall_leave(void)
)
{
_native_in_isr = 1;
unsigned int mask = irq_disable();
_native_cur_ctx = (ucontext_t *)sched_active_thread->sp;
native_isr_context.uc_stack.ss_sp = __isr_stack;
native_isr_context.uc_stack.ss_size = SIGSTKSZ;
native_isr_context.uc_stack.ss_flags = 0;
native_interrupts_enabled = 0;
makecontext(&native_isr_context, native_irq_handler, 0);
if (swapcontext(_native_cur_ctx, &native_isr_context) == -1) {
err(EXIT_FAILURE, "_native_syscall_leave: swapcontext");
}
irq_restore(mask);
}
}

Loading…
Cancel
Save