Ticket #7653: ghc-bug7653-patch-dont-wakeup-dead-manager.diff

File ghc-bug7653-patch-dont-wakeup-dead-manager.diff, 527 bytes (added by nus, 2 years ago)

don't wake up an event manager in the finished state.

  • libraries/base/GHC/Event/Manager.hs

    old new  
    303303 
    304304-- | Wake up the event manager. 
    305305wakeManager :: EventManager -> IO () 
    306 wakeManager mgr = sendWakeup (emControl mgr) 
     306wakeManager mgr = do 
     307-- Dead managers don't wake up. Also see #7653. 
     308  dead <- finished mgr 
     309  if not dead then sendWakeup (emControl mgr) 
     310    else return () 
    307311 
    308312eventsOf :: [FdData] -> Event 
    309313eventsOf = mconcat . map fdEvents