X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Firq.c;h=479ad67bf2e134d8e268171927c7919b335f0bb9;hb=a8fcfb6e93a2bd82ece8953a282c7e28914a646d;hp=c894631950c2ebfe44dcf6b81a30ac92201c48d1;hpb=cf6017f59fb2ff71423c716ad9d9f60a1b65c7d0;p=bertos.git diff --git a/bertos/kern/irq.c b/bertos/kern/irq.c index c8946319..479ad67b 100644 --- a/bertos/kern/irq.c +++ b/bertos/kern/irq.c @@ -31,8 +31,12 @@ * * \brief Process scheduler (public interface). * - * \version $Id: proc.h 1646 2008-08-17 13:49:48Z bernie $ + * \version $Id$ * \author Bernie Innocenti + * + * Still in development, disable nightly test for now + * notest: avr + * notest: arm */ #include "irq.h" @@ -40,7 +44,7 @@ #include #include -#include +#include "cfg/cfg_proc.h" #include // FIXME: move POSIX stuff to irq_posix.h @@ -53,7 +57,9 @@ static void (*irq_handlers[100])(void); /* signal handler */ void irq_entry(int signum) { +#if CONFIG_KERN_PREEMPT Process * const old_process = CurrentProcess; +#endif irq_handlers[signum](); @@ -87,6 +93,7 @@ void irq_register(int irq, void (*callback)(void)) void irq_init(void) { struct sigaction act; + act.sa_handler = irq_entry; sigemptyset(&act.sa_mask); //sigaddset(&act.sa_mask, irq);