From c35a2c748c6ad053344c9f15f6f86246e48628e0 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Fri, 2 Oct 2020 17:35:11 +1000 Subject: Only wake Tx if they're still reading a modified value --- funcs.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'funcs.go') diff --git a/funcs.go b/funcs.go index 91d6bc8..80c25b1 100644 --- a/funcs.go +++ b/funcs.go @@ -71,7 +71,9 @@ retry: time.Sleep(time.Duration(ns)) } } + tx.mu.Lock() ret, retry := catchRetry(op, tx) + tx.mu.Unlock() if retry { expvars.Add("retries", 1) // wait for one of the variables we read to change before retrying -- cgit v1.2.3