diff options
| author | Ian Lynagh <igloo@earth.li> | 2007-11-25 12:58:45 +0000 |
|---|---|---|
| committer | Ian Lynagh <igloo@earth.li> | 2007-11-25 12:58:45 +0000 |
| commit | e1cf7f788fe0e6ff984627641cfde2c17999de5d (patch) | |
| tree | a4c5aa62715ddec8c4fa91c9f900d93759e83946 | |
| parent | ffac2b22970b1671ff0f06b231e36314459307d4 (diff) | |
| download | haskell-e1cf7f788fe0e6ff984627641cfde2c17999de5d.tar.gz | |
On Windows, Delete the CriticalSection's we Initialize
| -rw-r--r-- | rts/win32/AsyncIO.c | 1 | ||||
| -rw-r--r-- | rts/win32/IOManager.c | 2 | ||||
| -rw-r--r-- | rts/win32/WorkQueue.c | 1 |
3 files changed, 4 insertions, 0 deletions
diff --git a/rts/win32/AsyncIO.c b/rts/win32/AsyncIO.c index 20de8bb4ab..54fc5cb526 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 6e7cd25b7a..81dedda569 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 a0b06f3638..b676072c96 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; } |
