Lines Matching refs:lock
36 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new() local
38 if ((lock = OPENSSL_zalloc(sizeof(pthread_rwlock_t))) == NULL) { in CRYPTO_THREAD_lock_new()
43 if (pthread_rwlock_init(lock, NULL) != 0) { in CRYPTO_THREAD_lock_new()
44 OPENSSL_free(lock); in CRYPTO_THREAD_lock_new()
49 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new()
51 if ((lock = OPENSSL_zalloc(sizeof(pthread_mutex_t))) == NULL) { in CRYPTO_THREAD_lock_new()
70 if (pthread_mutex_init(lock, &attr) != 0) { in CRYPTO_THREAD_lock_new()
72 OPENSSL_free(lock); in CRYPTO_THREAD_lock_new()
79 return lock; in CRYPTO_THREAD_lock_new()
82 __owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_read_lock() argument
85 if (pthread_rwlock_rdlock(lock) != 0) in CRYPTO_THREAD_read_lock()
88 if (pthread_mutex_lock(lock) != 0) { in CRYPTO_THREAD_read_lock()
97 __owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_write_lock() argument
100 if (pthread_rwlock_wrlock(lock) != 0) in CRYPTO_THREAD_write_lock()
103 if (pthread_mutex_lock(lock) != 0) { in CRYPTO_THREAD_write_lock()
112 int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_unlock() argument
115 if (pthread_rwlock_unlock(lock) != 0) in CRYPTO_THREAD_unlock()
118 if (pthread_mutex_unlock(lock) != 0) { in CRYPTO_THREAD_unlock()
127 void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_lock_free() argument
129 if (lock == NULL) in CRYPTO_THREAD_lock_free()
133 pthread_rwlock_destroy(lock); in CRYPTO_THREAD_lock_free()
135 pthread_mutex_destroy(lock); in CRYPTO_THREAD_lock_free()
137 OPENSSL_free(lock); in CRYPTO_THREAD_lock_free()
189 int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock) in CRYPTO_atomic_add() argument
203 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock)) in CRYPTO_atomic_add()
209 if (!CRYPTO_THREAD_unlock(lock)) in CRYPTO_atomic_add()
216 CRYPTO_RWLOCK *lock) in CRYPTO_atomic_or() argument
230 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock)) in CRYPTO_atomic_or()
235 if (!CRYPTO_THREAD_unlock(lock)) in CRYPTO_atomic_or()
241 int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock) in CRYPTO_atomic_load() argument
255 if (lock == NULL || !CRYPTO_THREAD_read_lock(lock)) in CRYPTO_atomic_load()
258 if (!CRYPTO_THREAD_unlock(lock)) in CRYPTO_atomic_load()