summaryrefslogtreecommitdiff
path: root/py/modules/IcePy/ObjectFactory.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2006-04-07 18:00:14 +0000
committerMark Spruiell <mes@zeroc.com>2006-04-07 18:00:14 +0000
commite12ec5b49fc1c7668bb37635803699a8c89229ad (patch)
tree14d0ced395c10a1a914a4aea902c4910061142cd /py/modules/IcePy/ObjectFactory.cpp
parentfixes for bug 803 (diff)
downloadice-e12ec5b49fc1c7668bb37635803699a8c89229ad.tar.bz2
ice-e12ec5b49fc1c7668bb37635803699a8c89229ad.tar.xz
ice-e12ec5b49fc1c7668bb37635803699a8c89229ad.zip
fixes for bug 803; fixing sync issues
Diffstat (limited to 'py/modules/IcePy/ObjectFactory.cpp')
-rw-r--r--py/modules/IcePy/ObjectFactory.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/py/modules/IcePy/ObjectFactory.cpp b/py/modules/IcePy/ObjectFactory.cpp
index 09f5b71371b..c1c5bab5bfe 100644
--- a/py/modules/IcePy/ObjectFactory.cpp
+++ b/py/modules/IcePy/ObjectFactory.cpp
@@ -89,6 +89,12 @@ IcePy::ObjectFactory::destroy()
{
Lock sync(*this);
+ //
+ // We release the GIL before calling communicator->destroy(), so we must
+ // reacquire it before calling back into Python.
+ //
+ AdoptThread adoptThread;
+
for(FactoryMap::iterator p = _factoryMap.begin(); p != _factoryMap.end(); ++p)
{
//