From add334986778a09dce559f4d8b7ee69534abd47d Mon Sep 17 00:00:00 2001 From: Dmitriy Vyukov Date: Tue, 5 Mar 2013 09:46:52 +0200 Subject: runtime: add atomic xchg64 It will be handy for network poller. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7429048 --- src/pkg/runtime/runtime.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/pkg/runtime/runtime.c') diff --git a/src/pkg/runtime/runtime.c b/src/pkg/runtime/runtime.c index 4d57cbafdf..d3ee2a0ec9 100644 --- a/src/pkg/runtime/runtime.c +++ b/src/pkg/runtime/runtime.c @@ -156,6 +156,10 @@ TestAtomic64(void) runtime·throw("xadd64 failed"); if(runtime·atomicload64(&z64) != (2ull<<40)+2) runtime·throw("xadd64 failed"); + if(runtime·xchg64(&z64, (3ull<<40)+3) != (2ull<<40)+2) + runtime·throw("xchg64 failed"); + if(runtime·atomicload64(&z64) != (3ull<<40)+3) + runtime·throw("xchg64 failed"); } void -- cgit v1.3-5-g9baa