Skip to content

Commit e9f49fc

Browse files
fix: do not import in close, we get called during garbage collection (#7)
I see in solara: Exception ignored in: <function BaseComm.__del__ at 0x111534430> Traceback (most recent call last): File "/Users/maartenbreddels/github/3rd/comm/comm/base_comm.py", line 64, in __del__ File "/Users/maartenbreddels/github/3rd/comm/comm/base_comm.py", line 95, in close ImportError: sys.meta_path is None, Python is likely shutting down If instead, we call comm.get_comm_manager we still always get the latest get_comm_manager, but do not do an import at during garbage collection.
1 parent 27d14fe commit e9f49fc

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

comm/base_comm.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import uuid
88
import logging
9+
import comm
910

1011
from traitlets.utils.importstring import import_item
1112

@@ -67,11 +68,10 @@ def __del__(self):
6768

6869
def open(self, data=None, metadata=None, buffers=None):
6970
"""Open the frontend-side version of this comm"""
70-
from comm import get_comm_manager
7171

7272
if data is None:
7373
data = self._open_data
74-
comm_manager = get_comm_manager()
74+
comm_manager = comm.get_comm_manager()
7575
if comm_manager is None:
7676
raise RuntimeError("Comms cannot be opened without a comm_manager.")
7777

@@ -92,7 +92,6 @@ def open(self, data=None, metadata=None, buffers=None):
9292

9393
def close(self, data=None, metadata=None, buffers=None, deleting=False):
9494
"""Close the frontend-side version of this comm"""
95-
from comm import get_comm_manager
9695
if self._closed:
9796
# only close once
9897
return
@@ -107,7 +106,7 @@ def close(self, data=None, metadata=None, buffers=None, deleting=False):
107106
)
108107
if not deleting:
109108
# If deleting, the comm can't be registered
110-
get_comm_manager().unregister_comm(self)
109+
comm.get_comm_manager().unregister_comm(self)
111110

112111
def send(self, data=None, metadata=None, buffers=None):
113112
"""Send a message to the frontend-side version of this comm"""

0 commit comments

Comments
 (0)