| Index: go/src/infra/gae/libs/wrapper/memory/context.go
|
| diff --git a/go/src/infra/gae/libs/wrapper/memory/context.go b/go/src/infra/gae/libs/wrapper/memory/context.go
|
| index 241d2a24edc1b09019731be9cb17c83c60b70005..b6607fcc4d0231f8b23874083be039c09a157545 100644
|
| --- a/go/src/infra/gae/libs/wrapper/memory/context.go
|
| +++ b/go/src/infra/gae/libs/wrapper/memory/context.go
|
| @@ -6,8 +6,6 @@ package memory
|
|
|
| import (
|
| "errors"
|
| - "infra/gae/libs/wrapper"
|
| - "math/rand"
|
| "sync"
|
|
|
| "golang.org/x/net/context"
|
| @@ -18,7 +16,7 @@ import (
|
| type memContextObj interface {
|
| sync.Locker
|
| canApplyTxn(m memContextObj) bool
|
| - applyTxn(rnd *rand.Rand, m memContextObj)
|
| + applyTxn(c context.Context, m memContextObj)
|
|
|
| endTxn()
|
| mkTxn(*datastore.TransactionOptions) (memContextObj, error)
|
| @@ -86,10 +84,10 @@ func (m memContext) canApplyTxn(txnCtxObj memContextObj) bool {
|
| return true
|
| }
|
|
|
| -func (m memContext) applyTxn(rnd *rand.Rand, txnCtxObj memContextObj) {
|
| +func (m memContext) applyTxn(c context.Context, txnCtxObj memContextObj) {
|
| txnCtx := txnCtxObj.(memContext)
|
| for i := range m {
|
| - m[i].applyTxn(rnd, txnCtx[i])
|
| + m[i].applyTxn(c, txnCtx[i])
|
| }
|
| }
|
|
|
| @@ -162,7 +160,7 @@ func (d *dsImpl) RunInTransaction(f func(context.Context) error, o *datastore.Tr
|
| defer txnMC.Unlock()
|
|
|
| if curMC.canApplyTxn(txnMC) {
|
| - curMC.applyTxn(wrapper.GetMathRand(d.c), txnMC)
|
| + curMC.applyTxn(d.c, txnMC)
|
| } else {
|
| return datastore.ErrConcurrentTransaction
|
| }
|
|
|