]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
pkcs11: switch to using static mutex
authorDaiki Ueno <ueno@gnu.org>
Tue, 16 Nov 2021 17:20:24 +0000 (18:20 +0100)
committerDaiki Ueno <ueno@gnu.org>
Wed, 17 Nov 2021 06:36:58 +0000 (07:36 +0100)
Signed-off-by: Daiki Ueno <ueno@gnu.org>
lib/global.c
lib/pkcs11.c

index d725db8dfd8779369560754bc5cf54cc1e460926..a6a23ab532784f1e5b739285be5d7be03ab6d9f5 100644 (file)
@@ -70,7 +70,6 @@ inline static int _gnutls_global_init_skip(void)
 /* created by asn1c */
 extern const asn1_static_node gnutls_asn1_tab[];
 extern const asn1_static_node pkix_asn1_tab[];
-void *_gnutls_pkcs11_mutex;
 
 asn1_node _gnutls_pkix1_asn = NULL;
 asn1_node _gnutls_gnutls_asn = NULL;
@@ -311,12 +310,6 @@ static int _gnutls_global_init(unsigned constructor)
                goto out;
        }
 
-       ret = gnutls_mutex_init(&_gnutls_pkcs11_mutex);
-       if (ret < 0) {
-               gnutls_assert();
-               goto out;
-       }
-
        ret = gnutls_system_global_init();
        if (ret < 0) {
                gnutls_assert();
@@ -429,8 +422,6 @@ static void _gnutls_global_deinit(unsigned destructor)
 #endif
 
                _gnutls_nss_keylog_deinit();
-
-               gnutls_mutex_deinit(&_gnutls_pkcs11_mutex);
        } else {
                if (_gnutls_init > 0)
                        _gnutls_init--;
index 364c0c49a98b9e173394c662b14f3542c82f6a61..8dda0f07c9014f650d056e160df7c5821771aa68 100644 (file)
@@ -46,7 +46,7 @@
 
 #define MAX_SLOTS 48
 
-extern void *_gnutls_pkcs11_mutex;
+GNUTLS_STATIC_MUTEX(pkcs11_mutex);
 
 struct gnutls_pkcs11_provider_st {
        struct ck_function_list *module;
@@ -279,7 +279,7 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv, pkcs11_reinit_
 {
        int ret, sret = 0;
 
-       ret = gnutls_mutex_lock(&_gnutls_pkcs11_mutex);
+       ret = gnutls_static_mutex_lock(&pkcs11_mutex);
        if (ret != 0)
                return gnutls_assert_val(GNUTLS_E_LOCKING_ERROR);
 
@@ -351,7 +351,7 @@ int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv, pkcs11_reinit_
        ret = sret;
 
  cleanup:
-       gnutls_mutex_unlock(&_gnutls_pkcs11_mutex);
+       gnutls_static_mutex_unlock(&pkcs11_mutex);
 
        return ret;
 }