cvs commit: fptools/libraries/base/GHC TopHandler.lhs fptools/libraries/base/Control Concurrent.hs fptools/ghc/compiler/prelude PrelNames.lhs fptools/ghc/compiler/typecheck TcRnDriver.lhs fptools/ghc/rts RtsStartup.c Weak.c Weak.h

Simon Marlow simonmar at haskell.org
Fri Jan 21 11:02:58 EST 2005


simonmar    2005/01/21 08:02:58 PST

  Modified files:
    libraries/base/GHC   TopHandler.lhs 
    libraries/base/Control Concurrent.hs 
    ghc/compiler/prelude PrelNames.lhs 
    ghc/compiler/typecheck TcRnDriver.lhs 
    ghc/rts              RtsStartup.c Weak.c Weak.h 
  Log:
  Don't try to run finalizers at program exit.  This turned out to be
  hard if not impossible to do in general, so now we don't attempt it at
  all.
  
  The Main.main wrapper, previously called runIO and now called
  runMainIO, flushes stdout and stderr before exiting.  This should
  catch most cases where programs rely on Handles being flushed at
  program exit, but note that now if you simply drop a Handle in your
  program, there's no guarantee it'll be flushed on exit.  If the
  punters complain enough, I suppose we could implement a global
  Handle table and flush them all at exit... I'd rather not do this if
  possible, though.  Better to teach people to close their Handles
  properly.
  
  Revision  Changes    Path
  1.13      +39 -33    fptools/libraries/base/GHC/TopHandler.lhs
  1.32      +2 -2      fptools/libraries/base/Control/Concurrent.hs
  1.94      +3 -3      fptools/ghc/compiler/prelude/PrelNames.lhs
  1.92      +3 -3      fptools/ghc/compiler/typecheck/TcRnDriver.lhs
  1.88      +0 -5      fptools/ghc/rts/RtsStartup.c
  1.35      +0 -31     fptools/ghc/rts/Weak.c
  1.6       +1 -2      fptools/ghc/rts/Weak.h


More information about the Cvs-libraries mailing list