Remember to set the flag to tell the kernel we're in an interrupt.
authorDavid Given <dg@cowlark.com>
Fri, 23 Oct 2015 17:51:41 +0000 (19:51 +0200)
committerDavid Given <dg@cowlark.com>
Fri, 23 Oct 2015 17:51:41 +0000 (19:51 +0200)
Kernel/lowlevel-msp430x.c

index 09f00a5..b47e567 100644 (file)
@@ -36,8 +36,11 @@ void deliver_signals(void)
 
 __interrupt void interrupt_handler(void)
 {
+       udata.u_ininterrupt = 1;
        platform_interrupt();
+       udata.u_ininterrupt = 0;
        deliver_signals();
+       /* deliver_signals() leaves interrupts *on*. */
 }
 
 void doexec(uaddr_t start_addr)