aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ruby
diff options
context:
space:
mode:
authorGravatar Alexander Polcyn <apolcyn@google.com>2016-11-22 14:24:49 -0800
committerGravatar Alexander Polcyn <apolcyn@google.com>2016-11-22 14:24:49 -0800
commit03fc19876de683e3c8b4ca3ddc71af6c9756b07a (patch)
tree32ba21b0d555474e566b72025864f2dbbf5a4398 /src/ruby
parent8a4ac886e4da6b278f30115431f090661bd1576b (diff)
wait for write loop to finish at end of ruby read loop, on client side calls
Diffstat (limited to 'src/ruby')
-rw-r--r--src/ruby/lib/grpc/generic/bidi_call.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb
index 75ddff0bfd..2b882313f2 100644
--- a/src/ruby/lib/grpc/generic/bidi_call.rb
+++ b/src/ruby/lib/grpc/generic/bidi_call.rb
@@ -208,6 +208,10 @@ module GRPC
GRPC.logger.debug('bidi-read-loop: finished')
@reads_complete = true
finished
+ # Make sure that the write loop is done done before finishing the call.
+ # Note that blocking is ok at this point because we've already received
+ # a status
+ @enq_th.join if is_client
end
end
end