Tue Jul 24 08:30:57 PDT 2007  Simon Marlow <[EMAIL PROTECTED]>
  * hs_exit()/shutdownHaskell(): wait for outstanding foreign calls to complete 
before returning
  This is pertinent to #1177.  When shutting down a DLL, we need to be
  sure that there are no OS threads that can return to the code that we
  are about to unload, and previously the threaded RTS was unsafe in
  this respect.
  
  When exiting a standalone program we don't have to be quite so
  paranoid: all the code will disappear at the same time as any running
  threads.  Happily exiting a program happens via a different path:
  shutdownHaskellAndExit().  If we're about to exit(), then there's no
  need to wait for foreign calls to complete.
  

    M ./rts/Capability.c -2 +18
    M ./rts/Capability.h -1 +1
    M ./rts/RtsStartup.c -7 +29
    M ./rts/Schedule.c -2 +3
    M ./rts/Schedule.h -1 +1

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to