aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio/grpc/_cython/cygrpc.pyx
diff options
context:
space:
mode:
authorGravatar Masood Malekghassemi <atash@google.com>2016-02-03 13:32:22 -0800
committerGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2016-02-04 17:18:18 +0100
commit10509a28c7521e3a8f7afdc825e941e139a12884 (patch)
tree59c3579af9c3e92505f014a7340c40710a641d3a /src/python/grpcio/grpc/_cython/cygrpc.pyx
parentab7055a0e7ea8e5183ae0ee0509aefb8f52c292e (diff)
Fix Python Windows build
Diffstat (limited to 'src/python/grpcio/grpc/_cython/cygrpc.pyx')
-rw-r--r--src/python/grpcio/grpc/_cython/cygrpc.pyx11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pyx b/src/python/grpcio/grpc/_cython/cygrpc.pyx
index fd1443e790..3967c3045f 100644
--- a/src/python/grpcio/grpc/_cython/cygrpc.pyx
+++ b/src/python/grpcio/grpc/_cython/cygrpc.pyx
@@ -47,16 +47,19 @@ include "grpc/_cython/_cygrpc/server.pyx.pxi"
cdef class _ModuleState:
+ cdef bint is_loaded
+
def __cinit__(self):
filename = pkg_resources.resource_filename(
- __name__, '_windows/grpc_c.64.python')
- directory = os.path.dirname(filename)
- if not pygrpc_load_core(directory):
+ 'grpc._cython', '_windows/grpc_c.64.python')
+ if not pygrpc_load_core(filename):
raise ImportError('failed to load core gRPC library')
grpc_init()
+ self.is_loaded = True
def __dealloc__(self):
- grpc_shutdown()
+ if self.is_loaded:
+ grpc_shutdown()
_module_state = _ModuleState()