You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2013/03/31 03:14:44 UTC

[25/51] git commit: Fix bug with 128 bit compare and swap.

Fix bug with 128 bit compare and swap.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/4a090831
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/4a090831
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/4a090831

Branch: refs/heads/3.3.x
Commit: 4a0908314acb301f1e9eb691bbcd8d956e86c321
Parents: 57ffdf5
Author: jplevyak@apache.org <jp...@apache.org>
Authored: Thu Mar 21 10:10:16 2013 -0700
Committer: John Plevyak <jp...@acm.org>
Committed: Thu Mar 21 10:10:16 2013 -0700

----------------------------------------------------------------------
 lib/ts/ink_queue.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/4a090831/lib/ts/ink_queue.h
----------------------------------------------------------------------
diff --git a/lib/ts/ink_queue.h b/lib/ts/ink_queue.h
index 6ac9945..20fbf9a 100644
--- a/lib/ts/ink_queue.h
+++ b/lib/ts/ink_queue.h
@@ -72,7 +72,7 @@ extern "C"
 #endif
 
 #if TS_HAS_128BIT_CAS
-#define INK_QUEUE_LD(dst,src) *((__int128_t*)&(dst)) = *((__int128_t*)&(src))
+#define INK_QUEUE_LD(dst,src) *(__int128_t*)&(dst) = __sync_fetch_and_add((__int128_t*)&(src), 0)
 #else
 #define INK_QUEUE_LD(dst,src) INK_QUEUE_LD64(dst,src)
 #endif