@@ -607,11 +607,13 @@ async def remove(k: _LibrariesEntryKey, e: _LibrariesEntry) -> None:
607607 if len (e .references ) == 0 :
608608 self ._logger .debug (lambda : f"Remove Library Entry { k } " )
609609 async with self ._libaries_lock :
610- e1 = self ._libaries .get (k , None )
611- if e1 == e :
612- self ._libaries .pop (k , None )
610+ if len (e .references ) == 0 :
611+ e1 = self ._libaries .get (k , None )
612+ if e1 == e :
613+ self ._libaries .pop (k , None )
613614
614- await e .invalidate ()
615+ await e .invalidate ()
616+ self ._logger .debug (lambda : f"Library Entry { k } removed" )
615617
616618 try :
617619 if asyncio .get_running_loop ():
@@ -624,11 +626,13 @@ async def remove(k: _ResourcesEntryKey, e: _ResourcesEntry) -> None:
624626 if len (e .references ) == 0 :
625627 self ._logger .debug (lambda : f"Remove Resource Entry { k } " )
626628 async with self ._resources_lock :
627- e1 = self ._resources .get (k , None )
628- if e1 == e :
629- self ._resources .pop (k , None )
629+ if len (e .references ) == 0 :
630+ e1 = self ._resources .get (k , None )
631+ if e1 == e :
632+ self ._resources .pop (k , None )
630633
631- await e .invalidate ()
634+ await e .invalidate ()
635+ self ._logger .debug (lambda : f"Resource Entry { k } removed" )
632636
633637 try :
634638 if asyncio .get_running_loop ():
@@ -641,11 +645,13 @@ async def remove(k: _VariablesEntryKey, e: _VariablesEntry) -> None:
641645 if len (e .references ) == 0 :
642646 self ._logger .debug (lambda : f"Remove Variables Entry { k } " )
643647 async with self ._variables_lock :
644- e1 = self ._variables .get (k , None )
645- if e1 == e :
646- self ._variables .pop (k , None )
648+ if len (e .references ) == 0 :
649+ e1 = self ._variables .get (k , None )
650+ if e1 == e :
651+ self ._variables .pop (k , None )
647652
648- await e .invalidate ()
653+ await e .invalidate ()
654+ self ._logger .debug (lambda : f"Variables Entry { k } removed" )
649655
650656 try :
651657 if asyncio .get_running_loop ():
0 commit comments