Lines Matching full:lock
48 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new() local
50 if ((lock = OPENSSL_zalloc(sizeof(pthread_rwlock_t))) == NULL) { in CRYPTO_THREAD_lock_new()
55 if (pthread_rwlock_init(lock, NULL) != 0) { in CRYPTO_THREAD_lock_new()
56 OPENSSL_free(lock); in CRYPTO_THREAD_lock_new()
61 CRYPTO_RWLOCK *lock; in CRYPTO_THREAD_lock_new()
63 if ((lock = OPENSSL_zalloc(sizeof(pthread_mutex_t))) == NULL) { in CRYPTO_THREAD_lock_new()
82 if (pthread_mutex_init(lock, &attr) != 0) { in CRYPTO_THREAD_lock_new()
84 OPENSSL_free(lock); in CRYPTO_THREAD_lock_new()
91 return lock; in CRYPTO_THREAD_lock_new()
94 __owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_read_lock() argument
97 if (pthread_rwlock_rdlock(lock) != 0) in CRYPTO_THREAD_read_lock()
100 if (pthread_mutex_lock(lock) != 0) { in CRYPTO_THREAD_read_lock()
109 __owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_write_lock() argument
112 if (pthread_rwlock_wrlock(lock) != 0) in CRYPTO_THREAD_write_lock()
115 if (pthread_mutex_lock(lock) != 0) { in CRYPTO_THREAD_write_lock()
124 int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_unlock() argument
127 if (pthread_rwlock_unlock(lock) != 0) in CRYPTO_THREAD_unlock()
130 if (pthread_mutex_unlock(lock) != 0) { in CRYPTO_THREAD_unlock()
139 void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock) in CRYPTO_THREAD_lock_free() argument
141 if (lock == NULL) in CRYPTO_THREAD_lock_free()
145 pthread_rwlock_destroy(lock); in CRYPTO_THREAD_lock_free()
147 pthread_mutex_destroy(lock); in CRYPTO_THREAD_lock_free()
149 OPENSSL_free(lock); in CRYPTO_THREAD_lock_free()
201 int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock) in CRYPTO_atomic_add() argument
215 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock)) in CRYPTO_atomic_add()
221 if (!CRYPTO_THREAD_unlock(lock)) in CRYPTO_atomic_add()
228 CRYPTO_RWLOCK *lock) in CRYPTO_atomic_or() argument
242 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock)) in CRYPTO_atomic_or()
247 if (!CRYPTO_THREAD_unlock(lock)) in CRYPTO_atomic_or()
253 int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock) in CRYPTO_atomic_load() argument
267 if (lock == NULL || !CRYPTO_THREAD_read_lock(lock)) in CRYPTO_atomic_load()
270 if (!CRYPTO_THREAD_unlock(lock)) in CRYPTO_atomic_load()