diff options
author | Simon Marlow <simonmar@microsoft.com> | 2007-07-25 13:55:04 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2007-07-25 13:55:04 +0000 |
commit | eb5791fe867f6441d270344298678f45ed4a75e4 (patch) | |
tree | 5c3618696d1eba5c5b1ca23dbd6bce112752ac4f /rts/RtsStartup.c | |
parent | 681aad99cb29ce54f72ec2a916fb1aab0fa0fabb (diff) | |
download | haskell-eb5791fe867f6441d270344298678f45ed4a75e4.tar.gz |
FIX #1177, partially at least.
Now we don't wait for outstanding IO requests when shutting down at
program exit time, but we still wait when shutting down a DLL (via
hs_exit()). There ought to be a better way to do this, but
terminating the threads forcibly is not a good idea (it never is: the
thread might be holding a mutex when it dies, for example).
I plan to add some docs to the user guide to describe how to shut
down a DLL properly.
Diffstat (limited to 'rts/RtsStartup.c')
-rw-r--r-- | rts/RtsStartup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index 8be4044c05..4f5b1c77a3 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -494,7 +494,7 @@ hs_exit_(rtsBool wait_foreign) #endif #if defined(mingw32_HOST_OS) && !defined(THREADED_RTS) - shutdownAsyncIO(); + shutdownAsyncIO(wait_foreign); #endif /* free hash table storage */ |