[ovs-dev] [clang 2/4] ofproto-dpif: Fix thread safety annotation on rule_dpif_lookup_in_table().

Ben Pfaff blp at nicira.com
Wed Aug 21 20:01:50 UTC 2013


New Clang versions raise warnings about the incorrect old annotation.

I first noticed these warnings with Clang 1:3.4~svn188890-1~exp1.
I previously used version 1:3.4~svn187484-1~exp1.

Signed-off-by: Ben Pfaff <blp at nicira.com>
---
 ofproto/ofproto-dpif.c |    2 +-
 ofproto/ofproto-dpif.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 5a64336..6f87aa6 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -4781,7 +4781,7 @@ bool
 rule_dpif_lookup_in_table(struct ofproto_dpif *ofproto,
                           const struct flow *flow, struct flow_wildcards *wc,
                           uint8_t table_id, struct rule_dpif **rule)
-    OVS_ACQ_RDLOCK((*rule)->up.evict)
+    OVS_TRY_RDLOCK(true, (*rule)->up.evict)
 {
     struct cls_rule *cls_rule;
     struct classifier *cls;
diff --git a/ofproto/ofproto-dpif.h b/ofproto/ofproto-dpif.h
index 6a4ae07..15e58e9 100644
--- a/ofproto/ofproto-dpif.h
+++ b/ofproto/ofproto-dpif.h
@@ -91,7 +91,7 @@ void rule_dpif_lookup(struct ofproto_dpif *, const struct flow *,
 bool rule_dpif_lookup_in_table(struct ofproto_dpif *, const struct flow *,
                                struct flow_wildcards *, uint8_t table_id,
                                struct rule_dpif **rule)
-    OVS_ACQ_RDLOCK((*rule)->up.evict);
+    OVS_TRY_RDLOCK(true, (*rule)->up.evict);
 
 void rule_release(struct rule_dpif *rule) OVS_RELEASES(rule->up.evict);
 
-- 
1.7.10.4




More information about the dev mailing list