12 #include <yaz/yconfig.h>
18 CRITICAL_SECTION mutex;
21 pthread_mutex_t mutex;
29 YAZ_EXPORT int zebra_mutex_init (Zebra_mutex *p);
30 YAZ_EXPORT int zebra_mutex_destroy (Zebra_mutex *p);
31 YAZ_EXPORT int zebra_mutex_lock (Zebra_mutex *p);
32 YAZ_EXPORT int zebra_mutex_unlock (Zebra_mutex *p);
38 pthread_mutex_t mutex;
39 pthread_cond_t lock_free;
43 YAZ_EXPORT int zebra_lock_rdwr_init (Zebra_lock_rdwr *p);
44 YAZ_EXPORT int zebra_lock_rdwr_destroy (Zebra_lock_rdwr *p);
45 YAZ_EXPORT int zebra_lock_rdwr_rlock (Zebra_lock_rdwr *p);
46 YAZ_EXPORT int zebra_lock_rdwr_wlock (Zebra_lock_rdwr *p);
47 YAZ_EXPORT int zebra_lock_rdwr_runlock (Zebra_lock_rdwr *p);
48 YAZ_EXPORT int zebra_lock_rdwr_wunlock (Zebra_lock_rdwr *p);
52 pthread_mutex_t mutex;
59 YAZ_EXPORT int zebra_mutex_cond_init (Zebra_mutex_cond *p);
60 YAZ_EXPORT int zebra_mutex_cond_destroy (Zebra_mutex_cond *p);
61 YAZ_EXPORT int zebra_mutex_cond_lock (Zebra_mutex_cond *p);
62 YAZ_EXPORT int zebra_mutex_cond_unlock (Zebra_mutex_cond *p);
63 YAZ_EXPORT int zebra_mutex_cond_wait (Zebra_mutex_cond *p);
64 YAZ_EXPORT int zebra_mutex_cond_signal (Zebra_mutex_cond *p);