X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fsignal.c;h=a22249429d885ed5dd62119773e3dd94e79c2fff;hb=0dc6365f51734b17c163970c644fca489b7f1efa;hp=948d68f1d814c687e8edb805b047da4596975242;hpb=024774c0df35faaade316607b5772090c847aac4;p=bertos.git diff --git a/bertos/kern/signal.c b/bertos/kern/signal.c index 948d68f1..a2224942 100644 --- a/bertos/kern/signal.c +++ b/bertos/kern/signal.c @@ -102,6 +102,7 @@ #include #include + #include #include #include @@ -117,7 +118,7 @@ sigmask_t sig_check(sigmask_t sigs) { sigmask_t result; - cpuflags_t flags; + cpu_flags_t flags; IRQ_SAVE_DISABLE(flags); result = CurrentProcess->sig_recv & sigs; @@ -135,14 +136,11 @@ sigmask_t sig_check(sigmask_t sigs) sigmask_t sig_wait(sigmask_t sigs) { sigmask_t result; - cpuflags_t flags; + cpu_flags_t flags; /* Sleeping with IRQs disabled or preemption forbidden is illegal */ IRQ_ASSERT_ENABLED(); - - #if CONFIG_KERN_PREEMPT - ASSERT(preempt_forbid_cnt == 0); - #endif + ASSERT(proc_allowed()); /* * This is subtle: there's a race condition where a concurrent @@ -205,7 +203,7 @@ sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout) { Timer t; sigmask_t res; - cpuflags_t flags; + cpu_flags_t flags; ASSERT(!sig_check(SIG_TIMEOUT)); ASSERT(!(sigs & SIG_TIMEOUT)); @@ -236,7 +234,7 @@ sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout) */ void sig_signal(Process *proc, sigmask_t sigs) { - cpuflags_t flags; + cpu_flags_t flags; /* See comment in sig_wait() for why this protection is necessary */ IRQ_SAVE_DISABLE(flags);