diff options
author | 2020-10-22 21:36:32 +0200 | |
---|---|---|
committer | 2020-10-23 08:38:18 +0200 | |
commit | e8eca4be37a2fe1af25b203ace5e99b31fcc3972 (patch) | |
tree | c70a80e9bcacb54838f09141bd1d2b27e844760f /examples/task-local.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/task-local.rs')
-rw-r--r-- | examples/task-local.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/examples/task-local.rs b/examples/task-local.rs index 462a0d31..e86197a0 100644 --- a/examples/task-local.rs +++ b/examples/task-local.rs @@ -61,9 +61,11 @@ mod app { // l2 ok (task_local) // e1 ok (lock_free) #[task(priority = 1, binds = UART0, resources = [shared, l2, e1])] - fn uart0(cx: uart0::Context) { - let shared: &mut u32 = cx.resources.shared; - *shared += 1; + fn uart0(mut cx: uart0::Context) { + let shared = cx.resources.shared.lock(|shared| { + *shared += 1; + *shared + }); *cx.resources.e1 += 10; hprintln!("UART0: shared = {}", shared).unwrap(); hprintln!("UART0:l2 = {}", cx.resources.l2).unwrap(); @@ -73,9 +75,11 @@ mod app { // `shared` can be accessed from this context // e1 ok (lock_free) #[task(priority = 1, binds = UART1, resources = [shared, e1])] - fn uart1(cx: uart1::Context) { - let shared: &mut u32 = cx.resources.shared; - *shared += 1; + fn uart1(mut cx: uart1::Context) { + let shared = cx.resources.shared.lock(|shared| { + *shared += 1; + *shared + }); hprintln!("UART1: shared = {}", shared).unwrap(); hprintln!("UART1:e1 = {}", cx.resources.e1).unwrap(); |