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