@@ -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