From 65f3b7ebc2ebeca40e07b28b7543c39457ed0831 Mon Sep 17 00:00:00 2001 From: lukechampine Date: Sun, 3 Apr 2016 12:29:48 -0400 Subject: fix AtomicSet bug --- stm.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/stm.go b/stm.go index 39cdec4..cb745a1 100644 --- a/stm.go +++ b/stm.go @@ -230,10 +230,7 @@ func AtomicGet(v *Var) interface{} { func AtomicSet(v *Var, val interface{}) { // since we're only doing one operation, we don't need a full transaction globalLock.Lock() - v.mu.Lock() - v.val = val - v.mu.Unlock() - globalCond.Broadcast() + (&Tx{writes: map[*Var]interface{}{v: val}}).commit() globalLock.Unlock() } -- cgit v1.2.3