func (tx *Tx) wait() {
	for v := range tx.reads {
		v.watchers.Store(tx, nil)
	}
	tx.mu.Lock()
	for tx.verify() {
		expvars.Add("waits", 1)
		tx.cond.Wait()
	}
	tx.mu.Unlock()
	for v := range tx.reads {
		v.watchers.Delete(tx)
	}
}
// wait blocks until another transaction modifies any of the Vars read by tx.
wait blocks until another transaction modifies any of the Vars read by tx.
// wait blocks until another transaction modifies any of the Vars read by tx .
func (tx *Tx) wait() {
	for v := range tx.reads {
		v.watchers.Store(tx, nil)
	}
	tx.mu.Lock()
	for tx.verify() {
		expvars.Add("waits", 1)
		tx.cond.Wait()
	}
	tx.mu.Unlock()
	for v := range tx.reads {
		v.watchers.Delete(tx)
	}
}
func ( tx * Tx ) wait ( ) { for v := range tx . reads { v . watchers . Store ( tx , nil ) } tx . mu . Lock ( ) for tx . verify ( ) { expvars . Add ( " " , 1 ) tx . cond . Wait ( ) } tx . mu . Unlock ( ) for v := range tx . reads { v . watchers . Delete ( tx ) } }
wait blocks until another transaction modifies any of the Vars read by tx.
wait blocks until another transaction modifies any of the Vars read by tx .