Skip to content

Commit 85ed978

Browse files
committed
SceneCacheReader: GIL release in _validate
This can lead to a deadlock when Nuke holds the GIL and the _validate triggers a compute that might need Python to complete.
1 parent 417b569 commit 85ed978

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/IECoreNuke/SceneCacheReader.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
#include "IECoreGL/StateComponent.h"
5050
#include "IECoreGL/TypedStateComponent.h"
5151

52+
#include "IECorePython/CheckedGILRelease.h"
53+
5254
#include "IECoreScene/AttributeBlock.h"
5355
#include "IECoreScene/CurvesPrimitive.h"
5456
#include "IECoreScene/SceneCache.h"
@@ -202,6 +204,9 @@ const SceneCacheReader::SharedData *SceneCacheReader::sharedData() const
202204

203205
void SceneCacheReader::_validate( bool forReal )
204206
{
207+
208+
IECorePython::CheckedGILRelease gilRelease;
209+
205210
if ( firstReader() != this )
206211
{
207212
SourceGeo::_validate( forReal );

0 commit comments

Comments
 (0)