diff options
author | Feng Li <fengli@google.com> | 2018-03-23 09:23:51 -0700 |
---|---|---|
committer | Feng Li <fengli@google.com> | 2018-03-23 09:23:51 -0700 |
commit | 7b2f5775d851e5feb49db9bf2e5412f78aebb5b9 (patch) | |
tree | 795bd7cf4d271fc90e3d02047672f573135abdda | |
parent | 6fbc1fbce43f8a7b688f07681b8cde9c5e3eb06c (diff) |
Release the GIL when calling grpc_call_start_batch.
-rw-r--r-- | src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi index 0892215b6d..2e02111ddd 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/call.pyx.pxi @@ -30,9 +30,12 @@ cdef class Call: tag, operations, self if retain_self else None) batch_operation_tag.prepare() cpython.Py_INCREF(batch_operation_tag) - return grpc_call_start_batch( + cdef grpc_call_error error + with nogil: + error = grpc_call_start_batch( self.c_call, batch_operation_tag.c_ops, batch_operation_tag.c_nops, <cpython.PyObject *>batch_operation_tag, NULL) + return error def start_client_batch(self, operations, tag): # We don't reference this call in the operations tag because |