From 8b371e23c0091b838807b0bc0e9a3026c6f02fc9 Mon Sep 17 00:00:00 2001 From: Ken Payson Date: Wed, 15 Mar 2017 16:15:13 -0700 Subject: Change GIL aquire functions to make it c-core thread safe --- .../grpcio/grpc/_cython/_cygrpc/security.pxd.pxi | 2 +- .../grpcio/grpc/_cython/_cygrpc/security.pyx.pxi | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src/python') diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/security.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/security.pxd.pxi index 3a952ca309..9915b0ed1a 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/security.pxd.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/security.pxd.pxi @@ -29,4 +29,4 @@ cdef grpc_ssl_roots_override_result ssl_roots_override_callback( - char **pem_root_certs) with gil + char **pem_root_certs) nogil diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi index 20fc1c5fce..357b0330d5 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi @@ -33,12 +33,14 @@ import pkg_resources cdef grpc_ssl_roots_override_result ssl_roots_override_callback( - char **pem_root_certs) with gil: - temporary_pem_root_certs = pkg_resources.resource_string( - __name__.rstrip('.cygrpc'), '_credentials/roots.pem') - pem_root_certs[0] = gpr_malloc(len(temporary_pem_root_certs) + 1) - memcpy( - pem_root_certs[0], temporary_pem_root_certs, - len(temporary_pem_root_certs)) - pem_root_certs[0][len(temporary_pem_root_certs)] = '\0' + char **pem_root_certs) nogil: + with gil: + temporary_pem_root_certs = pkg_resources.resource_string( + __name__.rstrip('.cygrpc'), '_credentials/roots.pem') + pem_root_certs[0] = gpr_malloc(len(temporary_pem_root_certs) + 1) + memcpy( + pem_root_certs[0], temporary_pem_root_certs, + len(temporary_pem_root_certs)) + pem_root_certs[0][len(temporary_pem_root_certs)] = '\0' + return GRPC_SSL_ROOTS_OVERRIDE_OK -- cgit v1.2.3