diff options
-rw-r--r-- | qemu-thread-win32.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/qemu-thread-win32.c b/qemu-thread-win32.c index 2edcb1a077..2d2d5abe39 100644 --- a/qemu-thread-win32.c +++ b/qemu-thread-win32.c @@ -33,6 +33,12 @@ void qemu_mutex_init(QemuMutex *mutex) InitializeCriticalSection(&mutex->lock); } +void qemu_mutex_destroy(QemuMutex *mutex) +{ + assert(mutex->owner == 0); + DeleteCriticalSection(&mutex->lock); +} + void qemu_mutex_lock(QemuMutex *mutex) { EnterCriticalSection(&mutex->lock); @@ -80,6 +86,21 @@ void qemu_cond_init(QemuCond *cond) } } +void qemu_cond_destroy(QemuCond *cond) +{ + BOOL result; + result = CloseHandle(cond->continue_event); + if (!result) { + error_exit(GetLastError(), __func__); + } + cond->continue_event = 0; + result = CloseHandle(cond->sema); + if (!result) { + error_exit(GetLastError(), __func__); + } + cond->sema = 0; +} + void qemu_cond_signal(QemuCond *cond) { DWORD result; |