From 97a0ded7c59a123dfe2be0d2a4e0e27b58754a1b Mon Sep 17 00:00:00 2001
From: Muxi Yan <mxyan@google.com>
Date: Fri, 7 Apr 2017 00:34:19 -0700
Subject: [PATCH] Fix bm_chttp2_transport

---
 test/cpp/microbenchmarks/bm_chttp2_transport.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/test/cpp/microbenchmarks/bm_chttp2_transport.cc b/test/cpp/microbenchmarks/bm_chttp2_transport.cc
index 1611250850..d3ca27a68e 100644
--- a/test/cpp/microbenchmarks/bm_chttp2_transport.cc
+++ b/test/cpp/microbenchmarks/bm_chttp2_transport.cc
@@ -572,11 +572,13 @@ static void BM_TransportStreamRecv(benchmark::State &state) {
     } while (grpc_byte_stream_next(exec_ctx, recv_stream,
                                    recv_stream->length - received,
                                    drain_continue.get()) &&
-             GRPC_ERROR_NONE == grpc_byte_stream_pull(exec_ctx, recv_stream,
-                                                      &recv_slice));
+             GRPC_ERROR_NONE ==
+                 grpc_byte_stream_pull(exec_ctx, recv_stream, &recv_slice) &&
+             (received += GRPC_SLICE_LENGTH(recv_slice), true));
   });
 
   drain_continue = MakeClosure([&](grpc_exec_ctx *exec_ctx, grpc_error *error) {
+    grpc_byte_stream_pull(exec_ctx, recv_stream, &recv_slice);
     received += GRPC_SLICE_LENGTH(recv_slice);
     grpc_slice_unref_internal(exec_ctx, recv_slice);
     grpc_closure_run(exec_ctx, drain.get(), GRPC_ERROR_NONE);
-- 
GitLab