diff options
author | 2020-10-22 21:36:32 +0200 | |
---|---|---|
committer | 2020-10-23 08:38:18 +0200 | |
commit | e8eca4be37a2fe1af25b203ace5e99b31fcc3972 (patch) | |
tree | c70a80e9bcacb54838f09141bd1d2b27e844760f /examples/lock.rs | |
parent | b3aa9e99a975eca637582f31de20fe11ae8f7d64 (diff) | |
download | rtic-e8eca4be37a2fe1af25b203ace5e99b31fcc3972.tar.gz rtic-e8eca4be37a2fe1af25b203ace5e99b31fcc3972.tar.zst rtic-e8eca4be37a2fe1af25b203ace5e99b31fcc3972.zip |
Now all locks are symmetric
Test fixes
Fix test
Fix comment
Diffstat (limited to 'examples/lock.rs')
-rw-r--r-- | examples/lock.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/examples/lock.rs b/examples/lock.rs index c4930a28..2fbf7608 100644 --- a/examples/lock.rs +++ b/examples/lock.rs @@ -52,11 +52,15 @@ mod app { } #[task(binds = GPIOB, priority = 2, resources = [shared])] - fn gpiob(c: gpiob::Context) { - // the higher priority task does *not* need a critical section - *c.resources.shared += 1; + fn gpiob(mut c: gpiob::Context) { + // the higher priority task does still need a critical section + let shared = c.resources.shared.lock(|shared| { + *shared += 1; + + *shared + }); - hprintln!("D - shared = {}", *c.resources.shared).unwrap(); + hprintln!("D - shared = {}", shared).unwrap(); } #[task(binds = GPIOC, priority = 3)] |