aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio/grpc/_cython/cygrpc.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'src/python/grpcio/grpc/_cython/cygrpc.pyx')
-rw-r--r--src/python/grpcio/grpc/_cython/cygrpc.pyx10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pyx b/src/python/grpcio/grpc/_cython/cygrpc.pyx
index e1bd046a1a..274b5f1b8a 100644
--- a/src/python/grpcio/grpc/_cython/cygrpc.pyx
+++ b/src/python/grpcio/grpc/_cython/cygrpc.pyx
@@ -47,14 +47,14 @@ include "_cygrpc/server.pyx.pxi"
#
# initialize gRPC
#
-
-
cdef extern from "Python.h":
- int Py_AtExit(void(*func)())
-
+ int PyEval_InitThreads()
-def _initialize():
+cdef _initialize():
+ # We have Python callbacks called by c-core threads, this ensures the GIL
+ # is initialized.
+ PyEval_InitThreads()
grpc_set_ssl_roots_override_callback(
<grpc_ssl_roots_override_callback>ssl_roots_override_callback)