From e1cf7f788fe0e6ff984627641cfde2c17999de5d Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sun, 25 Nov 2007 12:58:45 +0000 Subject: [PATCH] On Windows, Delete the CriticalSection's we Initialize --- rts/win32/AsyncIO.c | 1 + rts/win32/IOManager.c | 2 ++ rts/win32/WorkQueue.c | 1 + 3 files changed, 4 insertions(+) diff --git a/rts/win32/AsyncIO.c b/rts/win32/AsyncIO.c index 20de8bb..54fc5cb 100644 --- a/rts/win32/AsyncIO.c +++ b/rts/win32/AsyncIO.c @@ -189,6 +189,7 @@ shutdownAsyncIO(rtsBool wait_threads) CloseHandle(completed_table_sema); completed_table_sema = NULL; } + DeleteCriticalSection(&queue_lock); } /* diff --git a/rts/win32/IOManager.c b/rts/win32/IOManager.c index 6e7cd25..81dedda 100644 --- a/rts/win32/IOManager.c +++ b/rts/win32/IOManager.c @@ -461,6 +461,8 @@ void ShutdownIOManager ( rtsBool wait_threads ) } FreeWorkQueue(ioMan->workQueue); CloseHandle(ioMan->hExitEvent); + DeleteCriticalSection(&ioMan->active_work_lock); + DeleteCriticalSection(&ioMan->manLock); free(ioMan); ioMan = NULL; } diff --git a/rts/win32/WorkQueue.c b/rts/win32/WorkQueue.c index a0b06f3..b676072 100644 --- a/rts/win32/WorkQueue.c +++ b/rts/win32/WorkQueue.c @@ -82,6 +82,7 @@ FreeWorkQueue ( WorkQueue* pq ) if ( pq->roomAvailable ) { CloseHandle(pq->roomAvailable); } + DeleteCriticalSection(&pq->queueLock); free(pq); return; } -- 1.7.10.4