diff options
| author | Jorge Aparicio <jorge@japaric.io> | 2017-07-04 11:26:11 -0500 |
|---|---|---|
| committer | Jorge Aparicio <jorge@japaric.io> | 2017-07-04 11:26:11 -0500 |
| commit | 86a360a3964ecb04a37c0424c76d7b43a9fd40fe (patch) | |
| tree | cbf0ebee17a588f8f004bdd27e590ee6c958761b /tests/cfail/race-1.rs | |
| parent | 2bf5401439df4494b33ef87201ee013eb1f167e8 (diff) | |
rtfm! macro take 2
Diffstat (limited to 'tests/cfail/race-1.rs')
| -rw-r--r-- | tests/cfail/race-1.rs | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/tests/cfail/race-1.rs b/tests/cfail/race-1.rs deleted file mode 100644 index 8d32c42..0000000 --- a/tests/cfail/race-1.rs +++ /dev/null @@ -1,42 +0,0 @@ -extern crate cortex_m_rtfm as rtfm; - -use rtfm::{C2, P1, P3, Resource, T1, T3}; - -static R1: Resource<i32, C2> = Resource::new(0); - -fn j1(prio: P1, thr: T1) { - thr.raise( - &R1, |thr| { - let r1 = R1.access(&prio, thr); - - // `j2` preempts this critical section - rtfm::request(j2); - } - ); -} - -fn j2(_task: Task, prio: P3, thr: T3) { - rtfm::atomic( - |thr| { - // OK C2 (R1's ceiling) <= T16 (preemption threshold) - // BAD C2 (R1's ceiling) < P3 (j2's priority) - let r1 = R1.access(&prio, &thr); - //~^ error - }, - ); -} - -// glue -extern crate cortex_m; - -use cortex_m::ctxt::Context; -use cortex_m::interrupt::Nr; - -struct Task; - -unsafe impl Context for Task {} -unsafe impl Nr for Task { - fn nr(&self) -> u8 { - 0 - } -} |
