From e8eca4be37a2fe1af25b203ace5e99b31fcc3972 Mon Sep 17 00:00:00 2001 From: Emil Fresk Date: Thu, 22 Oct 2020 21:36:32 +0200 Subject: Now all locks are symmetric Test fixes Fix test Fix comment --- macros/src/codegen/resources.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'macros/src/codegen/resources.rs') diff --git a/macros/src/codegen/resources.rs b/macros/src/codegen/resources.rs index 0db4f728..76871e59 100644 --- a/macros/src/codegen/resources.rs +++ b/macros/src/codegen/resources.rs @@ -49,7 +49,8 @@ pub fn codegen( )); } - if let Some(Ownership::Contended { ceiling }) = analysis.ownerships.get(name) { + let r_prop = &res.properties; + if !r_prop.task_local && !r_prop.lock_free { mod_resources.push(quote!( #[allow(non_camel_case_types)] #(#cfgs)* @@ -83,13 +84,20 @@ pub fn codegen( ) }; + let ceiling = match analysis.ownerships.get(name) { + Some(Ownership::Owned { priority }) => *priority, + Some(Ownership::CoOwned { priority }) => *priority, + Some(Ownership::Contended { ceiling }) => *ceiling, + None => 0, + }; + mod_app.push(util::impl_mutex( extra, cfgs, true, name, quote!(#ty), - *ceiling, + ceiling, ptr, )); } -- cgit v1.2.3