Skip to content

Commit 9de554f

Browse files
authored
Merge pull request #433 from impact27/patch-2
PR: Skip unregistering comm with destructor.
2 parents 97d10d4 + 34cde64 commit 9de554f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

ipykernel/comm/comm.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def _publish_msg(self, msg_type, data=None, metadata=None, buffers=None, **keys)
7373

7474
def __del__(self):
7575
"""trigger close on gc"""
76-
self.close()
76+
self.close(deleting=True)
7777

7878
# publishing messages
7979

@@ -98,7 +98,7 @@ def open(self, data=None, metadata=None, buffers=None):
9898
comm_manager.unregister_comm(self)
9999
raise
100100

101-
def close(self, data=None, metadata=None, buffers=None):
101+
def close(self, data=None, metadata=None, buffers=None, deleting=False):
102102
"""Close the frontend-side version of this comm"""
103103
if self._closed:
104104
# only close once
@@ -113,7 +113,9 @@ def close(self, data=None, metadata=None, buffers=None):
113113
self._publish_msg('comm_close',
114114
data=data, metadata=metadata, buffers=buffers,
115115
)
116-
self.kernel.comm_manager.unregister_comm(self)
116+
if not deleting:
117+
# If deleting, the comm can't be registered
118+
self.kernel.comm_manager.unregister_comm(self)
117119

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

0 commit comments

Comments
 (0)