diff --git a/benchmark/worker/benchmark_client.go b/benchmark/worker/benchmark_client.go index 95785294..d25e3ceb 100644 --- a/benchmark/worker/benchmark_client.go +++ b/benchmark/worker/benchmark_client.go @@ -202,7 +202,10 @@ func (bc *benchmarkClient) doCloseLoopUnary(conns []*grpc.ClientConn, rpcCountPe go func() { start := time.Now() if err := benchmark.DoUnaryCall(client, reqSize, respSize); err != nil { - done <- false + select { + case <-bc.stop: + case done <- false: + } return } elapse := time.Since(start) @@ -259,7 +262,10 @@ func (bc *benchmarkClient) doCloseLoopStreaming(conns []*grpc.ClientConn, rpcCou go func() { start := time.Now() if err := doRPC(stream, reqSize, respSize); err != nil { - done <- false + select { + case <-bc.stop: + case done <- false: + } return } elapse := time.Since(start)