Lines Matching refs:lock
17 void ossl_rcu_read_lock(CRYPTO_RCU_LOCK *lock);
18 void ossl_rcu_write_lock(CRYPTO_RCU_LOCK *lock);
19 void ossl_rcu_write_unlock(CRYPTO_RCU_LOCK *lock);
20 void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock);
21 void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock);
22 void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data);
27 void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock);
64 ossl_rcu_lock_new() allocates a new RCU lock. The I<num_writers> param
69 parameter references the library context in which the lock is allocated.
74 the lock.
79 the lock.
84 the lock. Note only one writer per lock is permitted, as with read/write locks.
89 by the lock.
94 holds on the lock have been released, guaranteeing that any old data updated by
99 ossl_rcu_call() enqueues a callback function to the lock, to be called
116 ossl_rcu_lock_free() frees an allocated RCU lock
122 ossl_rcu_lock_new() returns a pointer to a newly created RCU lock structure.
140 This example safely initializes and uses a lock.
150 static CRYPTO_RCU_LOCK *lock;
155 lock = ossl_rcu_lock_new(1);
160 if (!RUN_ONCE(&once, myinit) || lock == NULL)
182 * acquire the write side lock
184 ossl_rcu_write_lock(lock);
204 * 5) Release the write side lock
206 ossl_rcu_write_unlock(lock);
212 ossl_synchronize_rcu(lock);
228 ossl_rcu_read_lock(lock);
243 ossl_rcu_read_unlock(lock);