Skip to content

Commit 248a6f9

Browse files
committed
CSDK-1902 daily-python: fix CallClient deadlock on drop
1 parent f5e1669 commit 248a6f9

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/call_client.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -768,10 +768,13 @@ impl Drop for PyCallClient {
768768
// GIL acquired
769769
fn drop(&mut self) {
770770
unsafe {
771-
// Cleanup delegates so they are not called during destroy.
772-
let mut delegates = self.inner.delegates.lock().unwrap();
773-
delegates.on_event.take();
774-
delegates.on_video_frame.take();
771+
{
772+
// Cleanup delegates so they are not called during destroy. Do
773+
// it inside a new scope so the lock gets released.
774+
let mut delegates = self.inner.delegates.lock().unwrap();
775+
delegates.on_event.take();
776+
delegates.on_video_frame.take();
777+
}
775778

776779
let mut call_client = self.call_client.clone();
777780

0 commit comments

Comments
 (0)