diff options
Diffstat (limited to 'py/modules/IcePy/ObjectFactory.cpp')
-rw-r--r-- | py/modules/IcePy/ObjectFactory.cpp | 6 |
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) { // |