Chromium Code Reviews| Index: impl/memory/taskqueue.go |
| diff --git a/impl/memory/taskqueue.go b/impl/memory/taskqueue.go |
| index 9ac3e5287d6b80ba66b140edee33f39d75a376ca..703c1057835d193adc2e263b4f25c84e56013d3c 100644 |
| --- a/impl/memory/taskqueue.go |
| +++ b/impl/memory/taskqueue.go |
| @@ -18,20 +18,20 @@ import ( |
| /////////////////////////////// public functions /////////////////////////////// |
| func useTQ(c context.Context) context.Context { |
| - return tq.SetRawFactory(c, func(ic context.Context) tq.RawInterface { |
| - tqd := cur(ic).Get(memContextTQIdx) |
| - if x, ok := tqd.(*taskQueueData); ok { |
| - return &taskqueueImpl{ |
| - x, |
| - ic, |
| - curGID(ic).namespace, |
| - } |
| + return tq.SetRawFactory(c, func(ic context.Context, wantTxn bool) tq.RawInterface { |
| + ns := curGID(ic).namespace |
| + var tqd memContextObj |
| + |
| + if !wantTxn { |
| + tqd = curNoTxn(ic).Get(memContextTQIdx) |
| + } else { |
| + tqd = cur(ic).Get(memContextTQIdx) |
| } |
| - return &taskqueueTxnImpl{ |
| - tqd.(*txnTaskQueueData), |
| - ic, |
| - curGID(ic).namespace, |
| + |
| + if x, ok := tqd.(*taskQueueData); ok { |
| + return &taskqueueImpl{x, ic, ns} |
|
iannucci
2015/12/04 03:35:10
don't need to tweak the context because taskqueue
|
| } |
| + return &taskqueueTxnImpl{tqd.(*txnTaskQueueData), ic, ns} |
| }) |
| } |