From: Nikos Mavrogiannopoulos Date: Sat, 30 Nov 2013 19:14:43 +0000 (+0100) Subject: re-initialize a deleted staticly initialized mutex X-Git-Tag: gnutls_3_3_0pre0~506 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=61e891599178fa95161b99a09982bfe9846504ed;p=thirdparty%2Fgnutls.git re-initialize a deleted staticly initialized mutex --- diff --git a/lib/locks.h b/lib/locks.h index 68d73e4ae9..cf989c6f78 100644 --- a/lib/locks.h +++ b/lib/locks.h @@ -70,8 +70,11 @@ extern mutex_unlock_func gnutls_mutex_unlock; # define GNUTLS_STATIC_MUTEX_UNLOCK(mutex) \ pthread_mutex_unlock(&mutex) -# define GNUTLS_STATIC_MUTEX_DEINIT(mutex) \ - pthread_mutex_destroy(&mutex) +# define GNUTLS_STATIC_MUTEX_DEINIT(mutex) { \ + static const pthread_mutex_t t = PTHREAD_MUTEX_INITIALIZER; \ + pthread_mutex_destroy(&mutex); \ + memcpy(&mutex, &t, sizeof(mutex)); \ + } #else # define GNUTLS_STATIC_MUTEX(mutex)