diff options
author | Richard Levitte <levitte@openssl.org> | 2016-03-09 10:51:30 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-03-09 11:04:36 +0100 |
commit | 71a07ca7bf207ccc795330441da76b02c7261091 (patch) | |
tree | 99d3e9c78e6e1cc64b50f2daeeadd1777b84bf99 /engines | |
parent | af48aa7197cbaf9e18eede5861182c0a6b2761c1 (diff) | |
download | openssl-71a07ca7bf207ccc795330441da76b02c7261091.tar.gz |
Convert the dynlocks in e_chil to the new Thread API locks
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'engines')
-rw-r--r-- | engines/e_chil.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/engines/e_chil.c b/engines/e_chil.c index a748e59686..97eacfc31c 100644 --- a/engines/e_chil.c +++ b/engines/e_chil.c @@ -246,7 +246,7 @@ static const char *engine_hwcrhk_id_alt = "ncipher"; * into HWCryptoHook_Mutex */ struct HWCryptoHook_MutexValue { - int lockid; + CRYPTO_RWLOCK *lock; }; /* @@ -597,14 +597,10 @@ static int hwcrhk_init(ENGINE *e) * does, use them. */ if (disable_mutex_callbacks == 0) { - if (CRYPTO_get_dynlock_create_callback() != NULL && - CRYPTO_get_dynlock_lock_callback() != NULL && - CRYPTO_get_dynlock_destroy_callback() != NULL) { - hwcrhk_globals.mutex_init = hwcrhk_mutex_init; - hwcrhk_globals.mutex_acquire = hwcrhk_mutex_lock; - hwcrhk_globals.mutex_release = hwcrhk_mutex_unlock; - hwcrhk_globals.mutex_destroy = hwcrhk_mutex_destroy; - } + hwcrhk_globals.mutex_init = hwcrhk_mutex_init; + hwcrhk_globals.mutex_acquire = hwcrhk_mutex_lock; + hwcrhk_globals.mutex_release = hwcrhk_mutex_unlock; + hwcrhk_globals.mutex_destroy = hwcrhk_mutex_destroy; } /* @@ -1145,26 +1141,26 @@ static int hwcrhk_rand_status(void) static int hwcrhk_mutex_init(HWCryptoHook_Mutex * mt, HWCryptoHook_CallerContext * cactx) { - mt->lockid = CRYPTO_get_new_dynlockid(); - if (mt->lockid == 0) + mt->lock = CRYPTO_THREAD_lock_new(); + if (mt->lock == NULL) return 1; /* failure */ return 0; /* success */ } static int hwcrhk_mutex_lock(HWCryptoHook_Mutex * mt) { - CRYPTO_w_lock(mt->lockid); + CRYPTO_THREAD_write_lock(mt->lock); return 0; } static void hwcrhk_mutex_unlock(HWCryptoHook_Mutex * mt) { - CRYPTO_w_unlock(mt->lockid); + CRYPTO_THREAD_unlock(mt->lock); } static void hwcrhk_mutex_destroy(HWCryptoHook_Mutex * mt) { - CRYPTO_destroy_dynlockid(mt->lockid); + CRYPTO_THREAD_lock_free(mt->lock); } static int hwcrhk_get_pass(const char *prompt_info, |