]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
do not deinitialize a static mutex to avoid any side-effects.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 4 Dec 2013 08:49:26 +0000 (09:49 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 4 Dec 2013 08:49:26 +0000 (09:49 +0100)
lib/gnutls_global.c
lib/locks.h

index 4e8043efa39651c30c01347e0ed0edc26c2eafd3..e499990cf9756faf8e4d523d89ff8990be3a0b08 100644 (file)
@@ -383,7 +383,6 @@ void gnutls_global_deinit(void)
        GNUTLS_STATIC_MUTEX_LOCK(global_init_mutex);
        if (_gnutls_init == 1) {
                _gnutls_init = 0;
-               GNUTLS_STATIC_MUTEX_UNLOCK(global_init_mutex);
                gl_sockets_cleanup();
                gnutls_crypto_deinit();
                _gnutls_rnd_deinit();
@@ -404,12 +403,11 @@ void gnutls_global_deinit(void)
 
                gnutls_mutex_deinit(&_gnutls_file_mutex);
                loaded_modules = 0;
-               GNUTLS_STATIC_MUTEX_DEINIT(global_init_mutex);
        } else {
                if (_gnutls_init > 0)
                        _gnutls_init--;
-               GNUTLS_STATIC_MUTEX_UNLOCK(global_init_mutex);
        }
+       GNUTLS_STATIC_MUTEX_UNLOCK(global_init_mutex);
 }
 
 /**
index cf989c6f7802fe9e9f209364ac150cfaa193d116..d046341ea4f01e36f5bbf05a24666683b8fd8c37 100644 (file)
@@ -55,10 +55,6 @@ extern mutex_unlock_func gnutls_mutex_unlock;
 # define GNUTLS_STATIC_MUTEX_UNLOCK(mutex) \
        LeaveCriticalSection(mutex)
 
-# define GNUTLS_STATIC_MUTEX_DEINIT(mutex) \
-       DeleteCriticalSection(mutex); \
-       free(mutex); mutex = NULL
-
 #elif defined(HAVE_PTHREAD_LOCKS)
 # include <pthread.h>
 # define GNUTLS_STATIC_MUTEX(mutex) \
@@ -70,17 +66,10 @@ extern mutex_unlock_func gnutls_mutex_unlock;
 # define GNUTLS_STATIC_MUTEX_UNLOCK(mutex) \
        pthread_mutex_unlock(&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)
 # define GNUTLS_STATIC_MUTEX_LOCK(mutex)
 # define GNUTLS_STATIC_MUTEX_UNLOCK(mutex)
-# define GNUTLS_STATIC_MUTEX_DEINIT(mutex)
 #endif
 
 #endif