Lines Matching full:lock
49 * o lock_rw: lock that has many readers and one writer (to a data entry).
51 * This lock is meant for non performance sensitive uses.
52 * o lock_quick: speed lock. For performance sensitive locking of critical
86 #define lock_protect(lock, area, size) /* nop */
87 #define lock_unprotect(lock, area) /* nop */
88 #define lock_get_mem(lock) (0) /* nothing */
98 /** use pthread mutex for basic lock */
101 #define lock_basic_init(lock) LOCKRET(pthread_mutex_init(lock, NULL))
102 #define lock_basic_destroy(lock) LOCKRET(pthread_mutex_destroy(lock))
103 #define lock_basic_lock(lock) LOCKRET(pthread_mutex_lock(lock))
104 #define lock_basic_unlock(lock) LOCKRET(pthread_mutex_unlock(lock))
109 #define lock_rw_init(lock) LOCKRET(pthread_mutex_init(lock, NULL))
110 #define lock_rw_destroy(lock) LOCKRET(pthread_mutex_destroy(lock))
111 #define lock_rw_rdlock(lock) LOCKRET(pthread_mutex_lock(lock))
112 #define lock_rw_wrlock(lock) LOCKRET(pthread_mutex_lock(lock))
113 #define lock_rw_unlock(lock) LOCKRET(pthread_mutex_unlock(lock))
118 #define lock_rw_init(lock) LOCKRET(pthread_rwlock_init(lock, NULL))
119 #define lock_rw_destroy(lock) LOCKRET(pthread_rwlock_destroy(lock))
120 #define lock_rw_rdlock(lock) LOCKRET(pthread_rwlock_rdlock(lock))
121 #define lock_rw_wrlock(lock) LOCKRET(pthread_rwlock_wrlock(lock))
122 #define lock_rw_unlock(lock) LOCKRET(pthread_rwlock_unlock(lock))
129 #define lock_quick_init(lock) LOCKRET(pthread_mutex_init(lock, NULL))
130 #define lock_quick_destroy(lock) LOCKRET(pthread_mutex_destroy(lock))
131 #define lock_quick_lock(lock) LOCKRET(pthread_mutex_lock(lock))
132 #define lock_quick_unlock(lock) LOCKRET(pthread_mutex_unlock(lock))
135 /** use pthread spinlock for the quick lock */
140 * This means only threads inside this process may access the lock.
144 #define lock_quick_init(lock) LOCKRET(pthread_spin_init(lock, PTHREAD_PROCESS_PRIVATE))
145 #define lock_quick_destroy(lock) LOCKRET(pthread_spin_destroy(lock))
146 #define lock_quick_lock(lock) LOCKRET(pthread_spin_lock(lock))
147 #define lock_quick_unlock(lock) LOCKRET(pthread_spin_unlock(lock))
189 #define lock_rw_init(lock) LOCKRET(rwlock_init(lock, USYNC_THREAD, NULL))
190 #define lock_rw_destroy(lock) LOCKRET(rwlock_destroy(lock))
191 #define lock_rw_rdlock(lock) LOCKRET(rw_rdlock(lock))
192 #define lock_rw_wrlock(lock) LOCKRET(rw_wrlock(lock))
193 #define lock_rw_unlock(lock) LOCKRET(rw_unlock(lock))
197 #define lock_basic_init(lock) LOCKRET(mutex_init(lock, USYNC_THREAD, NULL))
198 #define lock_basic_destroy(lock) LOCKRET(mutex_destroy(lock))
199 #define lock_basic_lock(lock) LOCKRET(mutex_lock(lock))
200 #define lock_basic_unlock(lock) LOCKRET(mutex_unlock(lock))
204 #define lock_quick_init(lock) LOCKRET(mutex_init(lock, USYNC_THREAD, NULL))
205 #define lock_quick_destroy(lock) LOCKRET(mutex_destroy(lock))
206 #define lock_quick_lock(lock) LOCKRET(mutex_lock(lock))
207 #define lock_quick_unlock(lock) LOCKRET(mutex_unlock(lock))
227 #define lock_rw_init(lock) lock_basic_init(lock)
228 #define lock_rw_destroy(lock) lock_basic_destroy(lock)
229 #define lock_rw_rdlock(lock) lock_basic_lock(lock)
230 #define lock_rw_wrlock(lock) lock_basic_lock(lock)
231 #define lock_rw_unlock(lock) lock_basic_unlock(lock)
233 /** the basic lock is a mutex, implemented opaquely, for error handling. */
235 void lock_basic_init(lock_basic_type* lock);
236 void lock_basic_destroy(lock_basic_type* lock);
237 void lock_basic_lock(lock_basic_type* lock);
238 void lock_basic_unlock(lock_basic_type* lock);
242 #define lock_quick_init(lock) lock_basic_init(lock)
243 #define lock_quick_destroy(lock) lock_basic_destroy(lock)
244 #define lock_quick_lock(lock) lock_basic_lock(lock)
245 #define lock_quick_unlock(lock) lock_basic_unlock(lock)
263 #define lock_rw_init(lock) /* nop */
264 #define lock_rw_destroy(lock) /* nop */
265 #define lock_rw_rdlock(lock) /* nop */
266 #define lock_rw_wrlock(lock) /* nop */
267 #define lock_rw_unlock(lock) /* nop */
271 #define lock_basic_init(lock) /* nop */
272 #define lock_basic_destroy(lock) /* nop */
273 #define lock_basic_lock(lock) /* nop */
274 #define lock_basic_unlock(lock) /* nop */
278 #define lock_quick_init(lock) /* nop */
279 #define lock_quick_destroy(lock) /* nop */
280 #define lock_quick_lock(lock) /* nop */
281 #define lock_quick_unlock(lock) /* nop */