Change GIL aquire functions to make it c-core thread safe

pull/10177/head
Ken Payson 8 years ago
parent 8d69254cef
commit 8b371e23c0
  1. 2
      src/python/grpcio/grpc/_cython/_cygrpc/security.pxd.pxi
  2. 18
      src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.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

@ -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] = <char *>gpr_malloc(len(temporary_pem_root_certs) + 1)
memcpy(
pem_root_certs[0], <char *>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] = <char *>gpr_malloc(len(temporary_pem_root_certs) + 1)
memcpy(
pem_root_certs[0], <char *>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

Loading…
Cancel
Save