X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=kern%2Fsignal.c;h=f0026f2353826da4cc04bb4c8b1000b2e86db63e;hb=fa993b28dec1e2c29e543c2537d13a56e2ce996c;hp=6194251702a0d4eb3dabb1c67ee5e7d434708b8a;hpb=d79f7d6dbc485204f897c9a5ea1f26936cc23744;p=bertos.git diff --git a/kern/signal.c b/kern/signal.c index 61942517..f0026f23 100644 --- a/kern/signal.c +++ b/kern/signal.c @@ -119,7 +119,7 @@ sigmask_t sig_check(sigmask_t sigs) /** * Sleep until any of the signals in \a sigs occurs. - * \return the signal(s) that have awaked the process. + * \return the signal(s) that have awoken the process. */ sigmask_t sig_wait(sigmask_t sigs) { @@ -150,8 +150,8 @@ sigmask_t sig_wait(sigmask_t sigs) /** * Sleep until any of the signals in \a sigs or \a timeout ticks elapse. * If the timeout elapse a SIG_TIMEOUT is added to the received signal(s). - * \return the signal(s) that have awaked the process. - * \note Caller must check return value to check which signal has awaked the process. + * \return the signal(s) that have awoken the process. + * \note Caller must check return value to check which signal awoke the process. */ sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout) { @@ -161,8 +161,8 @@ sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout) ASSERT(!sig_check(SIG_TIMEOUT)); ASSERT(!(sigs & SIG_TIMEOUT)); - /* IRQ are needed to run timer */ - ASSERT(IRQ_ENABLED); + /* IRQ are needed to run timer */ + ASSERT(IRQ_ENABLED()); timer_set_event_signal(&t, proc_current(), SIG_TIMEOUT); timer_setDelay(&t, timeout); @@ -174,12 +174,13 @@ sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout) if (!(res & SIG_TIMEOUT) && !sig_check(SIG_TIMEOUT)) timer_abort(&t); IRQ_RESTORE(flags); + return res; } /** * Send the signals \a sigs to the process \a proc. - * The process will be awaken if it was waiting for any of them. + * The process will be awoken if it was waiting for any of them. * * \note This call is interrupt safe. */ @@ -191,7 +192,7 @@ void sig_signal(Process *proc, sigmask_t sigs) /* Set the signals */ proc->sig_recv |= sigs; - /* Check if process needs to be awaken */ + /* Check if process needs to be awoken */ if (proc->sig_recv & proc->sig_wait) { /* Wake up process and enqueue in ready list */