projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add template flags for users.
[bertos.git]
/
bertos
/
kern
/
signal.c
diff --git
a/bertos/kern/signal.c
b/bertos/kern/signal.c
index d4fe178ed75567c21348dc72b1665eb477a608a3..f9b013bfb664d18e1999572f471de584d6685db2 100644
(file)
--- a/
bertos/kern/signal.c
+++ b/
bertos/kern/signal.c
@@
-100,8
+100,10
@@
#include "signal.h"
#include "signal.h"
-#include
<cfg/cfg_timer.h>
+#include
"cfg/cfg_timer.h"
#include <cfg/debug.h>
#include <cfg/debug.h>
+#include <cfg/depend.h>
+
#include <cpu/irq.h>
#include <kern/proc.h>
#include <kern/proc_p.h>
#include <cpu/irq.h>
#include <kern/proc.h>
#include <kern/proc_p.h>
@@
-109,6
+111,9
@@
#if CONFIG_KERN_SIGNALS
#if CONFIG_KERN_SIGNALS
+// Check config dependencies
+CONFIG_DEPEND(CONFIG_KERN_SIGNALS, CONFIG_KERN);
+
/**
* Check if any of the signals in \a sigs has occurred and clear them.
*
/**
* Check if any of the signals in \a sigs has occurred and clear them.
*
@@
-117,7
+122,7
@@
sigmask_t sig_check(sigmask_t sigs)
{
sigmask_t result;
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;
IRQ_SAVE_DISABLE(flags);
result = CurrentProcess->sig_recv & sigs;
@@
-135,12
+140,11
@@
sigmask_t sig_check(sigmask_t sigs)
sigmask_t sig_wait(sigmask_t sigs)
{
sigmask_t result;
sigmask_t sig_wait(sigmask_t sigs)
{
sigmask_t result;
- cpuflags_t flags;
- extern int preempt_forbid_cnt;
+ cpu_flags_t flags;
/* Sleeping with IRQs disabled or preemption forbidden is illegal */
IRQ_ASSERT_ENABLED();
/* Sleeping with IRQs disabled or preemption forbidden is illegal */
IRQ_ASSERT_ENABLED();
- ASSERT(pr
eempt_forbid_cnt == 0
);
+ ASSERT(pr
oc_allowed()
);
/*
* This is subtle: there's a race condition where a concurrent
/*
* This is subtle: there's a race condition where a concurrent
@@
-203,7
+207,7
@@
sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout)
{
Timer t;
sigmask_t res;
{
Timer t;
sigmask_t res;
- cpuflags_t flags;
+ cpu
_
flags_t flags;
ASSERT(!sig_check(SIG_TIMEOUT));
ASSERT(!(sigs & SIG_TIMEOUT));
ASSERT(!sig_check(SIG_TIMEOUT));
ASSERT(!(sigs & SIG_TIMEOUT));
@@
-234,7
+238,7
@@
sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout)
*/
void sig_signal(Process *proc, sigmask_t sigs)
{
*/
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);
/* See comment in sig_wait() for why this protection is necessary */
IRQ_SAVE_DISABLE(flags);