/openssl/crypto/ |
H A D | threads_win.c | 35 SRWLOCK lock; member 42 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new() local 48 rwlock = lock; in CRYPTO_THREAD_lock_new() 60 OPENSSL_free(lock); in CRYPTO_THREAD_lock_new() 68 return lock; in CRYPTO_THREAD_lock_new() 78 EnterCriticalSection(lock); in CRYPTO_THREAD_read_lock() 115 if (lock == NULL) in CRYPTO_THREAD_lock_free() 121 OPENSSL_free(lock); in CRYPTO_THREAD_lock_free() 139 if (*lock == ONCE_DONE) in CRYPTO_THREAD_run_once() 223 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock)) in CRYPTO_atomic_or() [all …]
|
H A D | threads_pthread.c | 48 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new() local 56 OPENSSL_free(lock); in CRYPTO_THREAD_lock_new() 61 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new() 84 OPENSSL_free(lock); in CRYPTO_THREAD_lock_new() 91 return lock; in CRYPTO_THREAD_lock_new() 141 if (lock == NULL) in CRYPTO_THREAD_lock_free() 147 pthread_mutex_destroy(lock); in CRYPTO_THREAD_lock_free() 149 OPENSSL_free(lock); in CRYPTO_THREAD_lock_free() 215 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock)) in CRYPTO_atomic_add() 242 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock)) in CRYPTO_atomic_or() [all …]
|
H A D | threads_none.c | 22 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new() local 29 *(unsigned int *)lock = 1; in CRYPTO_THREAD_lock_new() 31 return lock; in CRYPTO_THREAD_lock_new() 36 if (!ossl_assert(*(unsigned int *)lock == 1)) in CRYPTO_THREAD_read_lock() 43 if (!ossl_assert(*(unsigned int *)lock == 1)) in CRYPTO_THREAD_write_lock() 48 int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_unlock() argument 50 if (!ossl_assert(*(unsigned int *)lock == 1)) in CRYPTO_THREAD_unlock() 56 if (lock == NULL) in CRYPTO_THREAD_lock_free() 59 *(unsigned int *)lock = 0; in CRYPTO_THREAD_lock_free() 60 OPENSSL_free(lock); in CRYPTO_THREAD_lock_free() [all …]
|
H A D | initthread.c | 51 CRYPTO_RWLOCK *lock; member 163 if (!CRYPTO_THREAD_write_lock(gtr->lock)) in init_thread_push_handlers() 166 CRYPTO_THREAD_unlock(gtr->lock); in init_thread_push_handlers() 179 if (!CRYPTO_THREAD_write_lock(gtr->lock)) in init_thread_remove_handlers() 187 CRYPTO_THREAD_unlock(gtr->lock); in init_thread_remove_handlers() 191 CRYPTO_THREAD_unlock(gtr->lock); in init_thread_remove_handlers() 319 if (!CRYPTO_THREAD_write_lock(gtr->lock)) in init_thread_stop() 342 CRYPTO_THREAD_unlock(gtr->lock); in init_thread_stop() 425 CRYPTO_THREAD_unlock(gtr->lock); in init_thread_deregister() 447 CRYPTO_THREAD_lock_free(gtr->lock); in init_thread_deregister() [all …]
|
H A D | provider_core.c | 220 CRYPTO_RWLOCK *lock; member 398 CRYPTO_THREAD_unlock(store->lock); in ossl_provider_info_add_to_store() 638 CRYPTO_THREAD_unlock(store->lock); in ossl_provider_add_to_store() 667 CRYPTO_THREAD_unlock(store->lock); in ossl_provider_add_to_store() 1028 int lock = 1; in provider_deactivate() local 1039 lock = 0; in provider_deactivate() 1041 if (lock && !CRYPTO_THREAD_read_lock(store->lock)) in provider_deactivate() 1078 if (lock) { in provider_deactivate() 1107 lock = 0; in provider_activate() 1117 if (lock && !CRYPTO_THREAD_read_lock(store->lock)) { in provider_activate() [all …]
|
H A D | core_namemap.c | 37 CRYPTO_RWLOCK *lock; member 99 if (!CRYPTO_THREAD_read_lock(namemap->lock)) in ossl_namemap_empty() 102 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_empty() 145 if (!CRYPTO_THREAD_read_lock(namemap->lock)) in ossl_namemap_doall_names() 150 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_doall_names() 155 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_doall_names() 160 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_doall_names() 197 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_name2num() 290 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_add_name() 367 CRYPTO_THREAD_unlock(namemap->lock); in ossl_namemap_add_names() [all …]
|
H A D | provider_conf.c | 26 CRYPTO_RWLOCK *lock; member 37 pcgbl->lock = CRYPTO_THREAD_lock_new(); in ossl_prov_conf_ctx_new() 38 if (pcgbl->lock == NULL) { in ossl_prov_conf_ctx_new() 54 CRYPTO_THREAD_lock_free(pcgbl->lock); in ossl_prov_conf_ctx_free() 142 if (pcgbl == NULL || !CRYPTO_THREAD_write_lock(pcgbl->lock)) { in provider_conf_activate() 155 CRYPTO_THREAD_unlock(pcgbl->lock); in provider_conf_activate() 163 CRYPTO_THREAD_unlock(pcgbl->lock); in provider_conf_activate() 201 CRYPTO_THREAD_unlock(pcgbl->lock); in provider_conf_activate()
|
H A D | provider_child.c | 26 CRYPTO_RWLOCK *lock; member 46 CRYPTO_THREAD_lock_free(gbl->lock); in ossl_child_prov_ctx_free() 104 if (!CRYPTO_THREAD_write_lock(gbl->lock)) in provider_create_child_cb() 151 CRYPTO_THREAD_unlock(gbl->lock); in provider_create_child_cb() 248 gbl->lock = CRYPTO_THREAD_lock_new(); in ossl_provider_init_as_child() 249 if (gbl->lock == NULL) in ossl_provider_init_as_child()
|
H A D | context.c | 20 CRYPTO_RWLOCK *lock, *rand_crngt_lock; member 51 return CRYPTO_THREAD_write_lock(ossl_lib_ctx_get_concrete(ctx)->lock); in ossl_lib_ctx_write_lock() 56 return CRYPTO_THREAD_read_lock(ossl_lib_ctx_get_concrete(ctx)->lock); in ossl_lib_ctx_read_lock() 61 return CRYPTO_THREAD_unlock(ossl_lib_ctx_get_concrete(ctx)->lock); in ossl_lib_ctx_unlock() 79 ctx->lock = CRYPTO_THREAD_lock_new(); in context_init() 80 if (ctx->lock == NULL) in context_init() 194 CRYPTO_THREAD_lock_free(ctx->lock); in context_init() 323 CRYPTO_THREAD_lock_free(ctx->lock); in context_deinit() 325 ctx->lock = NULL; in context_deinit()
|
/openssl/include/internal/ |
H A D | refcount.h | 31 ossl_unused void *lock) in CRYPTO_UP_REF() argument 48 ossl_unused void *lock) in CRYPTO_DOWN_REF() argument 69 ossl_unused void *lock) in CRYPTO_DOWN_REF() argument 81 ossl_unused void *lock) in CRYPTO_UP_REF() argument 88 ossl_unused void *lock) in CRYPTO_DOWN_REF() argument 107 ossl_unused void *lock) in CRYPTO_UP_REF() argument 114 ossl_unused void *lock) in CRYPTO_DOWN_REF() argument 135 ossl_unused void *lock) in CRYPTO_UP_REF() argument 142 ossl_unused void *lock) in CRYPTO_DOWN_REF() argument 161 # define CRYPTO_UP_REF(val, ret, lock) CRYPTO_atomic_add(val, 1, ret, lock) argument [all …]
|
/openssl/doc/man3/ |
H A D | CRYPTO_THREAD_run_once.pod | 18 int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock); 19 int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock); 20 int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock); 21 void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock); 25 CRYPTO_RWLOCK *lock); 55 lock. 135 This example safely initializes and uses a lock. 143 static CRYPTO_RWLOCK *lock; 147 lock = CRYPTO_THREAD_lock_new(); 154 return CRYPTO_THREAD_write_lock(lock); [all …]
|
/openssl/crypto/property/ |
H A D | property_string.c | 39 CRYPTO_RWLOCK *lock; member 83 CRYPTO_THREAD_lock_free(propdata->lock); in ossl_property_string_data_free() 102 propdata->lock = CRYPTO_THREAD_lock_new(); in ossl_property_string_data_new() 111 if (propdata->lock == NULL in ossl_property_string_data_new() 156 if (!CRYPTO_THREAD_read_lock(propdata->lock)) { in ossl_property_string() 162 CRYPTO_THREAD_unlock(propdata->lock); in ossl_property_string() 176 CRYPTO_THREAD_unlock(propdata->lock); in ossl_property_string() 191 CRYPTO_THREAD_unlock(propdata->lock); in ossl_property_string() 197 CRYPTO_THREAD_unlock(propdata->lock); in ossl_property_string() 226 if (!CRYPTO_THREAD_read_lock(propdata->lock)) { in ossl_property_str() [all …]
|
/openssl/providers/implementations/keymgmt/ |
H A D | kdf_legacy_kmgmt.c | 40 kdfdata->lock = CRYPTO_THREAD_lock_new(); in ossl_kdf_data_new() 41 if (kdfdata->lock == NULL) { in ossl_kdf_data_new() 58 CRYPTO_DOWN_REF(&kdfdata->refcnt, &ref, kdfdata->lock); in ossl_kdf_data_free() 62 CRYPTO_THREAD_lock_free(kdfdata->lock); in ossl_kdf_data_free() 80 CRYPTO_UP_REF(&kdfdata->refcnt, &ref, kdfdata->lock); in ossl_kdf_data_up_ref()
|
/openssl/crypto/ec/ |
H A D | ecx_key.c | 47 ret->lock = CRYPTO_THREAD_lock_new(); in ossl_ecx_key_new() 48 if (ret->lock == NULL) in ossl_ecx_key_new() 64 CRYPTO_DOWN_REF(&key->references, &i, key->lock); in ossl_ecx_key_free() 72 CRYPTO_THREAD_lock_free(key->lock); in ossl_ecx_key_free() 85 if (CRYPTO_UP_REF(&key->references, &i, key->lock) <= 0) in ossl_ecx_key_up_ref()
|
/openssl/crypto/asn1/ |
H A D | tasn_utl.c | 72 CRYPTO_RWLOCK **lock; in ossl_asn1_do_lock() local 82 lock = offset2ptr(*pval, aux->ref_lock); in ossl_asn1_do_lock() 87 *lock = CRYPTO_THREAD_lock_new(); in ossl_asn1_do_lock() 88 if (*lock == NULL) { in ossl_asn1_do_lock() 94 if (!CRYPTO_UP_REF(lck, &ret, *lock)) in ossl_asn1_do_lock() 98 if (!CRYPTO_DOWN_REF(lck, &ret, *lock)) in ossl_asn1_do_lock() 103 CRYPTO_THREAD_lock_free(*lock); in ossl_asn1_do_lock() 104 *lock = NULL; in ossl_asn1_do_lock()
|
/openssl/providers/implementations/rands/ |
H A D | test_rng.c | 47 CRYPTO_RWLOCK *lock; member 73 CRYPTO_THREAD_lock_free(t->lock); in test_rng_free() 246 if (t != NULL && t->lock == NULL) { in test_rng_enable_locking() 247 t->lock = CRYPTO_THREAD_lock_new(); in test_rng_enable_locking() 248 if (t->lock == NULL) { in test_rng_enable_locking() 260 if (t == NULL || t->lock == NULL) in test_rng_lock() 262 return CRYPTO_THREAD_write_lock(t->lock); in test_rng_lock() 269 if (t != NULL && t->lock != NULL) in test_rng_unlock() 270 CRYPTO_THREAD_unlock(t->lock); in test_rng_unlock()
|
H A D | crngt.c | 32 CRYPTO_RWLOCK *lock; member 60 CRYPTO_THREAD_lock_free(crngt_glob->lock); in ossl_rand_crng_ctx_free() 77 if ((crngt_glob->lock = CRYPTO_THREAD_lock_new()) == NULL) { in ossl_rand_crng_ctx_new() 119 if (!CRYPTO_THREAD_write_lock(crngt_glob->lock)) in ossl_crngt_get_entropy() 184 CRYPTO_THREAD_unlock(crngt_glob->lock); in ossl_crngt_get_entropy()
|
/openssl/ssl/ |
H A D | ssl_sess.c | 92 CRYPTO_THREAD_unlock(ssl->lock); in SSL_get1_session() 124 ss->lock = CRYPTO_THREAD_lock_new(); in SSL_SESSION_new() 125 if (ss->lock == NULL) { in SSL_SESSION_new() 132 CRYPTO_THREAD_lock_free(ss->lock); in SSL_SESSION_new() 183 dest->lock = CRYPTO_THREAD_lock_new(); in ssl_session_dup() 184 if (dest->lock == NULL) in ssl_session_dup() 368 CRYPTO_THREAD_unlock(ssl->lock); in ssl_generate_session_id() 378 CRYPTO_THREAD_unlock(ssl->lock); in ssl_generate_session_id() 768 CRYPTO_THREAD_unlock(ctx->lock); in SSL_CTX_add_session() 835 CRYPTO_THREAD_lock_free(ss->lock); in SSL_SESSION_free() [all …]
|
/openssl/crypto/x509/ |
H A D | by_dir.c | 48 CRYPTO_RWLOCK *lock; member 122 a->lock = CRYPTO_THREAD_lock_new(); in new_dir() 123 if (a->lock == NULL) { in new_dir() 164 CRYPTO_THREAD_lock_free(a->lock); in free_dir() 280 if (!CRYPTO_THREAD_read_lock(ctx->lock)) in get_cert_by_subject_ex() 290 CRYPTO_THREAD_unlock(ctx->lock); in get_cert_by_subject_ex() 359 if (!CRYPTO_THREAD_write_lock(ctx->lock)) in get_cert_by_subject_ex() 373 CRYPTO_THREAD_unlock(ctx->lock); in get_cert_by_subject_ex() 381 CRYPTO_THREAD_unlock(ctx->lock); in get_cert_by_subject_ex() 391 CRYPTO_THREAD_unlock(ctx->lock); in get_cert_by_subject_ex()
|
/openssl/crypto/evp/ |
H A D | keymgmt_lib.c | 121 if (!CRYPTO_THREAD_read_lock(pk->lock)) in evp_keymgmt_util_export_to_provider() 134 CRYPTO_THREAD_unlock(pk->lock); in evp_keymgmt_util_export_to_provider() 138 CRYPTO_THREAD_unlock(pk->lock); in evp_keymgmt_util_export_to_provider() 171 if (!CRYPTO_THREAD_write_lock(pk->lock)) { in evp_keymgmt_util_export_to_provider() 180 CRYPTO_THREAD_unlock(pk->lock); in evp_keymgmt_util_export_to_provider() 200 CRYPTO_THREAD_unlock(pk->lock); in evp_keymgmt_util_export_to_provider() 208 CRYPTO_THREAD_unlock(pk->lock); in evp_keymgmt_util_export_to_provider() 223 if (locking && pk->lock != NULL && !CRYPTO_THREAD_write_lock(pk->lock)) in evp_keymgmt_util_clear_operation_cache() 227 if (locking && pk->lock != NULL) in evp_keymgmt_util_clear_operation_cache() 228 CRYPTO_THREAD_unlock(pk->lock); in evp_keymgmt_util_clear_operation_cache()
|
H A D | cmeth_lib.c | 49 CRYPTO_RWLOCK *lock = to->lock; in EVP_CIPHER_meth_dup() local 52 to->lock = lock; in EVP_CIPHER_meth_dup()
|
/openssl/test/ |
H A D | threadstest.c | 76 CRYPTO_RWLOCK *lock = CRYPTO_THREAD_lock_new(); in test_lock() local 79 res = TEST_true(CRYPTO_THREAD_read_lock(lock)) in test_lock() 80 && TEST_true(CRYPTO_THREAD_unlock(lock)) in test_lock() 81 && TEST_true(CRYPTO_THREAD_write_lock(lock)) in test_lock() 82 && TEST_true(CRYPTO_THREAD_unlock(lock)); in test_lock() 84 CRYPTO_THREAD_lock_free(lock); in test_lock() 184 CRYPTO_RWLOCK *lock = CRYPTO_THREAD_lock_new(); in test_atomic() local 186 if (!TEST_ptr(lock)) in test_atomic() 201 if (!TEST_true(CRYPTO_atomic_add(&val, 1, &ret, lock))) in test_atomic() 241 if (!TEST_true(CRYPTO_atomic_load(&val64, &ret64, lock))) in test_atomic() [all …]
|
/openssl/crypto/objects/ |
H A D | obj_dat.c | 82 static ossl_inline int ossl_obj_write_lock(int lock) in ossl_obj_write_lock() argument 84 if (!lock) in ossl_obj_write_lock() 91 static ossl_inline int ossl_obj_read_lock(int lock) in ossl_obj_read_lock() argument 93 if (!lock) in ossl_obj_read_lock() 100 static ossl_inline void ossl_obj_unlock(int lock) in ossl_obj_unlock() argument 102 if (lock) in ossl_obj_unlock() 262 if (!ossl_obj_write_lock(lock)) { in ossl_obj_add_object() 287 ossl_obj_unlock(lock); in ossl_obj_add_object() 291 ossl_obj_unlock(lock); in ossl_obj_add_object() 372 if (!ossl_obj_read_lock(lock)) { in ossl_obj_obj2nid() [all …]
|
/openssl/crypto/bn/ |
H A D | bn_blind.c | 27 CRYPTO_RWLOCK *lock; member 41 ret->lock = CRYPTO_THREAD_lock_new(); in BN_BLINDING_new() 42 if (ret->lock == NULL) { in BN_BLINDING_new() 89 CRYPTO_THREAD_lock_free(r->lock); in BN_BLINDING_free() 215 return CRYPTO_THREAD_write_lock(b->lock); in BN_BLINDING_lock() 220 return CRYPTO_THREAD_unlock(b->lock); in BN_BLINDING_unlock()
|
/openssl/crypto/rand/ |
H A D | rand_lib.c | 386 CRYPTO_RWLOCK *lock; member 453 dgbl->lock = CRYPTO_THREAD_lock_new(); in ossl_rand_ctx_new() 454 if (dgbl->lock == NULL) in ossl_rand_ctx_new() 468 CRYPTO_THREAD_lock_free(dgbl->lock); in ossl_rand_ctx_new() 480 CRYPTO_THREAD_lock_free(dgbl->lock); in ossl_rand_ctx_free() 618 if (!CRYPTO_THREAD_read_lock(dgbl->lock)) in RAND_get0_primary() 622 CRYPTO_THREAD_unlock(dgbl->lock); in RAND_get0_primary() 627 if (!CRYPTO_THREAD_write_lock(dgbl->lock)) in RAND_get0_primary() 632 CRYPTO_THREAD_unlock(dgbl->lock); in RAND_get0_primary() 656 CRYPTO_THREAD_unlock(dgbl->lock); in RAND_get0_primary()
|