Lines Matching refs:lock
48 CRYPTO_RWLOCK *lock;
50 if ((lock = OPENSSL_zalloc(sizeof(pthread_rwlock_t))) == NULL) {
55 if (pthread_rwlock_init(lock, NULL) != 0) {
56 OPENSSL_free(lock);
61 CRYPTO_RWLOCK *lock;
63 if ((lock = OPENSSL_zalloc(sizeof(pthread_mutex_t))) == NULL) {
80 if (pthread_mutex_init(lock, &attr) != 0) {
82 OPENSSL_free(lock);
89 return lock;
92 __owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock)
95 if (pthread_rwlock_rdlock(lock) != 0)
98 if (pthread_mutex_lock(lock) != 0) {
107 __owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock)
110 if (pthread_rwlock_wrlock(lock) != 0)
113 if (pthread_mutex_lock(lock) != 0) {
122 int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock)
125 if (pthread_rwlock_unlock(lock) != 0)
128 if (pthread_mutex_unlock(lock) != 0) {
137 void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock)
139 if (lock == NULL)
143 pthread_rwlock_destroy(lock);
145 pthread_mutex_destroy(lock);
147 OPENSSL_free(lock);
199 int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock)
213 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock))
219 if (!CRYPTO_THREAD_unlock(lock))
226 CRYPTO_RWLOCK *lock)
240 if (lock == NULL || !CRYPTO_THREAD_write_lock(lock))
245 if (!CRYPTO_THREAD_unlock(lock))
251 int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock)
265 if (lock == NULL || !CRYPTO_THREAD_read_lock(lock))
268 if (!CRYPTO_THREAD_unlock(lock))