summaryrefslogtreecommitdiff
path: root/rts/win32/AsyncWinIO.c
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-01-14 19:47:21 -0500
committerBen Gamari <ben@smart-cactus.org>2022-01-14 19:47:21 -0500
commitfbe48364fc4839fbff6c9db39cec2da56273bf63 (patch)
tree0ffaaaef2d29fdc9b354aca99134339b8d920d98 /rts/win32/AsyncWinIO.c
parent83645d0f3599deeca9397d2fe4a1347bf4cd3b1d (diff)
parenta82a678b098268465e4a94140e3431ee580f0edd (diff)
downloadhaskell-wip/winio-by-default.tar.gz
Merge branch 'Phyx/ghc-gh-18382-fix-heap-corruption' into wip/winio-by-defaultwip/winio-by-default
Diffstat (limited to 'rts/win32/AsyncWinIO.c')
-rw-r--r--rts/win32/AsyncWinIO.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/rts/win32/AsyncWinIO.c b/rts/win32/AsyncWinIO.c
index cd370296a3..fa397c343d 100644
--- a/rts/win32/AsyncWinIO.c
+++ b/rts/win32/AsyncWinIO.c
@@ -144,7 +144,7 @@
There we initialize IO manager locale variables and.
* call ioManagerStart()
- * Creat a thread to execute "runner"
+ * Create a thread to execute "runner"
We never truly shut down the IO Manager. While this means we
might block forever on the IOPort if the IO Manager is no longer
@@ -271,6 +271,7 @@ void shutdownAsyncWinIO(bool wait_threads)
WaitForSingleObject (workerThread, INFINITE);
}
completionPortHandle = INVALID_HANDLE_VALUE;
+ CloseHandle (workerThread);
workerThread = NULL;
workerThreadId = 0;
free (entries);