diff options
author | Bodo Möller <bodo@openssl.org> | 2000-07-21 15:07:56 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 2000-07-21 15:07:56 +0000 |
commit | 2d789604b8ea07141b1af09dd65b5e56f23022d3 (patch) | |
tree | 86a7116374e77b6ec26b0904dbb5d7d63bbad45f /crypto/err | |
parent | c4558f82912c91c0e0fe82cb8e331257190426d3 (diff) |
Bugfix: use write locks, not just read locks
Diffstat (limited to 'crypto/err')
-rw-r--r-- | crypto/err/err.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/crypto/err/err.c b/crypto/err/err.c index 9557761f41..ad062a9022 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -558,7 +558,7 @@ const char *ERR_lib_error_string(unsigned long e) l=ERR_GET_LIB(e); - CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH); if (error_hash != NULL) { @@ -566,7 +566,7 @@ const char *ERR_lib_error_string(unsigned long e) p=(ERR_STRING_DATA *)lh_retrieve(error_hash,&d); } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH); return((p == NULL)?NULL:p->string); } @@ -579,7 +579,7 @@ const char *ERR_func_error_string(unsigned long e) l=ERR_GET_LIB(e); f=ERR_GET_FUNC(e); - CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH); if (error_hash != NULL) { @@ -587,7 +587,7 @@ const char *ERR_func_error_string(unsigned long e) p=(ERR_STRING_DATA *)lh_retrieve(error_hash,&d); } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH); return((p == NULL)?NULL:p->string); } @@ -600,7 +600,7 @@ const char *ERR_reason_error_string(unsigned long e) l=ERR_GET_LIB(e); r=ERR_GET_REASON(e); - CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH); if (error_hash != NULL) { @@ -613,7 +613,7 @@ const char *ERR_reason_error_string(unsigned long e) } } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH); return((p == NULL)?NULL:p->string); } @@ -674,13 +674,13 @@ ERR_STATE *ERR_get_state(void) pid=(unsigned long)CRYPTO_thread_id(); - CRYPTO_r_lock(CRYPTO_LOCK_ERR); + CRYPTO_w_lock(CRYPTO_LOCK_ERR); if (thread_hash != NULL) { tmp.pid=pid; ret=(ERR_STATE *)lh_retrieve(thread_hash,&tmp); } - CRYPTO_r_unlock(CRYPTO_LOCK_ERR); + CRYPTO_w_unlock(CRYPTO_LOCK_ERR); /* ret == the error state, if NULL, make a new one */ if (ret == NULL) |