ofproto-dpif: Fix thread safety annotation on rule_dpif_lookup_in_table().
authorBen Pfaff <blp@nicira.com>
Wed, 21 Aug 2013 18:27:25 +0000 (11:27 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 23 Aug 2013 18:04:03 +0000 (11:04 -0700)
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@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
ofproto/ofproto-dpif.c
ofproto/ofproto-dpif.h

index c7e32ef..c5414f3 100644 (file)
@@ -4791,7 +4791,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;
index 6a4ae07..15e58e9 100644 (file)
@@ -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);