diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a6f22a1508..e630fafed7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2008-03-04 Danny Smith + + * gthr-win32.h [__GTHREAD_HIDE_WIN32API] + (__gthr_win32_mutex_destroy): Declare. + [__GTHREAD_HIDE_WIN32API] (__gthread_mutex_destroy): Use + __gthr_win32_mutex_destroy. + * config/i386/gthr-win32.c (__gthr_win32_mutex_destroy): Define. + 2008-03-03 Jan Hubicka PR c++/35262 diff --git a/gcc/config/i386/gthr-win32.c b/gcc/config/i386/gthr-win32.c index c87a771ed8f..3810fc0f26c 100644 --- a/gcc/config/i386/gthr-win32.c +++ b/gcc/config/i386/gthr-win32.c @@ -151,6 +151,12 @@ __gthr_win32_mutex_init_function (__gthread_mutex_t *mutex) mutex->sema = CreateSemaphore (NULL, 0, 65535, NULL); } +void +__gthr_win32_mutex_destroy (__gthread_mutex_t *mutex) +{ + CloseHandle ((HANDLE) mutex->sema); +} + int __gthr_win32_mutex_lock (__gthread_mutex_t *mutex) { diff --git a/gcc/gthr-win32.h b/gcc/gthr-win32.h index b75c8654a08..adf6efb81a5 100644 --- a/gcc/gthr-win32.h +++ b/gcc/gthr-win32.h @@ -423,6 +423,7 @@ extern int __gthr_win32_recursive_mutex_lock (__gthread_recursive_mutex_t *); extern int __gthr_win32_recursive_mutex_trylock (__gthread_recursive_mutex_t *); extern int __gthr_win32_recursive_mutex_unlock (__gthread_recursive_mutex_t *); +extern void __gthr_win32_mutex_destroy (__gthread_mutex_t *); static inline int __gthread_once (__gthread_once_t *once, void (*func) (void)) @@ -463,6 +464,12 @@ __gthread_mutex_init_function (__gthread_mutex_t *mutex) __gthr_win32_mutex_init_function (mutex); } +static inline void +__gthread_mutex_destroy (__gthread_mutex_t *mutex) +{ + __gthr_win32_mutex_destroy (mutex); +} + static inline int __gthread_mutex_lock (__gthread_mutex_t *mutex) {