]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Added initial __sync_fetch_and_and support.
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 31 Mar 2011 20:04:20 +0000 (14:04 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 31 Mar 2011 20:04:20 +0000 (14:04 -0600)
src/ipc/AtomicWord.h

index 7b60a2c81cd339dc38a52fb293b9232a568674fc..5d30b7d27d0b1cc6fdc5bf5e324a905f7be4a5b4 100644 (file)
@@ -20,6 +20,9 @@ public:
 
     bool swap_if(const int comparand, const int replacement) { return __sync_bool_compare_and_swap(&value, comparand, replacement); }
 
+    /// v1 = value; value &= v2; return v1;
+    Value fetchAndAnd(const Value v2) { return __sync_fetch_and_and(&value, v2); }
+
     // TODO: no need for __sync_bool_compare_and_swap here?
     bool operator ==(int v2) { return __sync_bool_compare_and_swap(&value, v2, value); }