summaryrefslogtreecommitdiff
path: root/rts/RtsStartup.c
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-07-25 13:55:04 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-07-25 13:55:04 +0000
commiteb5791fe867f6441d270344298678f45ed4a75e4 (patch)
tree5c3618696d1eba5c5b1ca23dbd6bce112752ac4f /rts/RtsStartup.c
parent681aad99cb29ce54f72ec2a916fb1aab0fa0fabb (diff)
downloadhaskell-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.c2
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 */