Merge pull request #308 from fireyang/master
fix bug: loop variable i captured by func literal
This commit is contained in:
		| @@ -7,6 +7,8 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"sync/atomic" | ||||||
|  |  | ||||||
| 	"github.com/micro/go-micro/broker" | 	"github.com/micro/go-micro/broker" | ||||||
| 	"github.com/micro/go-micro/codec" | 	"github.com/micro/go-micro/codec" | ||||||
| 	"github.com/micro/go-micro/errors" | 	"github.com/micro/go-micro/errors" | ||||||
| @@ -14,7 +16,6 @@ import ( | |||||||
| 	"github.com/micro/go-micro/registry" | 	"github.com/micro/go-micro/registry" | ||||||
| 	"github.com/micro/go-micro/selector" | 	"github.com/micro/go-micro/selector" | ||||||
| 	"github.com/micro/go-micro/transport" | 	"github.com/micro/go-micro/transport" | ||||||
| 	"sync/atomic" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type rpcClient struct { | type rpcClient struct { | ||||||
| @@ -322,9 +323,9 @@ func (r *rpcClient) Call(ctx context.Context, request Request, response interfac | |||||||
| 	var gerr error | 	var gerr error | ||||||
|  |  | ||||||
| 	for i := 0; i <= callOpts.Retries; i++ { | 	for i := 0; i <= callOpts.Retries; i++ { | ||||||
| 		go func() { | 		go func(i int) { | ||||||
| 			ch <- call(i) | 			ch <- call(i) | ||||||
| 		}() | 		}(i) | ||||||
|  |  | ||||||
| 		select { | 		select { | ||||||
| 		case <-ctx.Done(): | 		case <-ctx.Done(): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user