summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2021-11-16 18:20:24 +0100
committerDaiki Ueno <ueno@gnu.org>2021-11-17 07:36:58 +0100
commit14dd5bbe4a6f8482e69a2c0ffba4fa258c9b236e (patch)
tree778e883fd013c43d3def263dd20aba081f114cd9
parent84dbd61454d8dbe5b2b0f9ef2798838e95428ac1 (diff)
downloadgnutls-14dd5bbe4a6f8482e69a2c0ffba4fa258c9b236e.tar.gz
pkcs11: switch to using static mutex
Signed-off-by: Daiki Ueno <ueno@gnu.org>
-rw-r--r--lib/global.c9
-rw-r--r--lib/pkcs11.c6
2 files changed, 3 insertions, 12 deletions
diff --git a/lib/global.c b/lib/global.c
index d725db8dfd..a6a23ab532 100644
--- a/lib/global.c
+++ b/lib/global.c
@@ -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--;
diff --git a/lib/pkcs11.c b/lib/pkcs11.c
index 364c0c49a9..8dda0f07c9 100644
--- a/lib/pkcs11.c
+++ b/lib/pkcs11.c
@@ -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;
}