From: Ian Lynagh Date: Sun, 25 Nov 2007 12:58:45 +0000 (+0000) Subject: On Windows, Delete the CriticalSection's we Initialize X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=e1cf7f788fe0e6ff984627641cfde2c17999de5d;p=ghc-hetmet.git On Windows, Delete the CriticalSection's we Initialize --- 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; }