summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2011-06-09 12:04:21 -0700
committerMark Spruiell <mes@zeroc.com>2011-06-09 12:04:21 -0700
commit4f646ed65a9bb07c3774bc31fbda26a7c25770ad (patch)
treed50956b9a5f6ff14c075eeebc3b93025c31c8080 /py
parentbug 5145 - fixing C# project for Glacier2/chat (diff)
downloadice-4f646ed65a9bb07c3774bc31fbda26a7c25770ad.tar.bz2
ice-4f646ed65a9bb07c3774bc31fbda26a7c25770ad.tar.xz
ice-4f646ed65a9bb07c3774bc31fbda26a7c25770ad.zip
bug 5146 - Python deadlock in Connection::close
Diffstat (limited to 'py')
-rw-r--r--py/modules/IcePy/Connection.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/py/modules/IcePy/Connection.cpp b/py/modules/IcePy/Connection.cpp
index 46dd3134c93..8b13060bdac 100644
--- a/py/modules/IcePy/Connection.cpp
+++ b/py/modules/IcePy/Connection.cpp
@@ -98,6 +98,7 @@ connectionClose(ConnectionObject* self, PyObject* args)
assert(self->connection);
try
{
+ AllowThreads allowThreads; // Release Python's global interpreter lock during blocking invocations.
(*self->connection)->close(force > 0);
}
catch(const Ice::Exception& ex)
@@ -209,6 +210,7 @@ connectionFlushBatchRequests(ConnectionObject* self)
assert(self->connection);
try
{
+ AllowThreads allowThreads; // Release Python's global interpreter lock during remote invocations.
(*self->connection)->flushBatchRequests();
}
catch(const Ice::Exception& ex)