File tree Expand file tree Collapse file tree 3 files changed +24
-14
lines changed 
ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB Expand file tree Collapse file tree 3 files changed +24
-14
lines changed Original file line number Diff line number Diff line change @@ -628,4 +628,5 @@ data TraceForkerEvent
628628  | ForkerReadStatistics 
629629  | ForkerPushStart 
630630  | ForkerPushEnd 
631+   | DanglingForkerClosed 
631632  deriving  (Show , Eq )
Original file line number Diff line number Diff line change @@ -827,11 +827,15 @@ implForkerClose ::
827827  ForkerEnv  m  l  blk  -> 
828828  m  () 
829829implForkerClose (LDBHandle  varState) forkerKey env =  do 
830-   atomically $ 
831-     readTVar varState >>=  \ case 
832-       LedgerDBClosed  ->  pure  () 
833-       LedgerDBOpen  ldbEnv ->  do 
834-         modifyTVar
835-           (ldbForkers ldbEnv)
836-           (Map. delete forkerKey)
830+   frk <- 
831+     atomically $ 
832+       readTVar varState >>=  \ case 
833+         LedgerDBClosed  ->  pure  Nothing 
834+         LedgerDBOpen  ldbEnv ->  do 
835+           stateTVar
836+             (ldbForkers ldbEnv)
837+             (\ m ->  Map. updateLookupWithKey (\ _ _ ->  Nothing ) forkerKey m)
838+   case  frk of 
839+     Nothing  ->  pure  () 
840+     Just  e ->  traceWith (foeTracer e) DanglingForkerClosed 
837841  closeForkerEnv env
Original file line number Diff line number Diff line change @@ -724,13 +724,18 @@ implForkerClose ::
724724  ForkerEnv  m  l  blk  -> 
725725  m  () 
726726implForkerClose (LDBHandle  varState) forkerKey forkerEnv =  do 
727-   atomically $ 
728-     readTVar varState >>=  \ case 
729-       LedgerDBClosed  ->  pure  () 
730-       LedgerDBOpen  ldbEnv ->  do 
731-         modifyTVar
732-           (ldbForkers ldbEnv)
733-           (Map. delete forkerKey)
727+   frk <- 
728+     atomically $ 
729+       readTVar varState >>=  \ case 
730+         LedgerDBClosed  ->  pure  Nothing 
731+         LedgerDBOpen  ldbEnv ->  do 
732+           stateTVar
733+             (ldbForkers ldbEnv)
734+             (\ m ->  Map. updateLookupWithKey (\ _ _ ->  Nothing ) forkerKey m)
735+ 
736+   case  frk of 
737+     Nothing  ->  pure  () 
738+     Just  e ->  traceWith (foeTracer e) DanglingForkerClosed 
734739
735740  closeForkerEnv forkerEnv
736741
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments