From 8c3fd5b406b85ed2e88bb452d9c38796a36dc767 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 2 Nov 2020 12:18:22 +0100 Subject: [PATCH] collide: Release GIL while during CollisionTraverser traversal This is necessary to prevent deadlocking on the GIL if some Python code is trying to write some geometry while the CollisionTraverser is trying to read it. Fixes #1033 --- panda/src/collide/collisionTraverser.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panda/src/collide/collisionTraverser.h b/panda/src/collide/collisionTraverser.h index 19b249cb45..fc039e3f7d 100644 --- a/panda/src/collide/collisionTraverser.h +++ b/panda/src/collide/collisionTraverser.h @@ -64,7 +64,7 @@ PUBLISHED: void clear_colliders(); MAKE_SEQ_PROPERTY(colliders, get_num_colliders, get_collider); - void traverse(const NodePath &root); + BLOCKING void traverse(const NodePath &root); #if defined(DO_COLLISION_RECORDING) || !defined(CPPPARSER) void set_recorder(CollisionRecorder *recorder);