patch applied (ghc): Partial fix for #926

Simon Marlow simonmar at microsoft.com
Thu Feb 1 06:50:20 EST 2007


Thu Feb  1 03:40:47 PST 2007  Simon Marlow <simonmar at microsoft.com>
  * Partial fix for #926
  It seems that when a program exits with open DLLs on Windows, the
  system attempts to shut down the DLLs, but it also terminates (some
  of?) the running threads.  The RTS isn't prepared for threads to die
  unexpectedly, so it sits around waiting for its workers to finish.
  This bites in two places: ShutdownIOManager() in the the unthreaded
  RTS, and shutdownCapability() in the threaded RTS.  So far I've
  modified the latter to notice when worker threads have died
  unexpectedly and continue shutting down.  It seems a bit trickier to
  fix the unthreaded RTS, so for now the workaround for #926 is to use
  the threaded RTS.
  

    M ./includes/OSThreads.h +3
    M ./rts/Capability.c +24
    M ./rts/posix/OSThreads.c +8
    M ./rts/win32/OSThreads.c -2 +22



More information about the Cvs-ghc mailing list