X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fzebra-lock.h;fp=include%2Fzebra-lock.h;h=01f338db309da799726c8ab0e53739baa0e4c690;hb=c41c84a497ae744aa825a90f144c85b54f1cd4bb;hp=b7d61648de0462083d1803eb53e5b15e096878de;hpb=eb2b742588ce07fb4516bbca22c93b938b13e433;p=idzebra-moved-to-github.git diff --git a/include/zebra-lock.h b/include/zebra-lock.h index b7d6164..01f338d 100644 --- a/include/zebra-lock.h +++ b/include/zebra-lock.h @@ -33,5 +33,17 @@ YAZ_EXPORT int zebra_lock_rdwr_wlock (Zebra_lock_rdwr *p); YAZ_EXPORT int zebra_lock_rdwr_runlock (Zebra_lock_rdwr *p); YAZ_EXPORT int zebra_lock_rdwr_wunlock (Zebra_lock_rdwr *p); +typedef struct { + pthread_mutex_t mutex; + pthread_cond_t cond; +} Zebra_mutex_cond; + +YAZ_EXPORT int zebra_mutex_cond_init (Zebra_mutex_cond *p); +YAZ_EXPORT int zebra_mutex_cond_destroy (Zebra_mutex_cond *p); +YAZ_EXPORT int zebra_mutex_cond_lock (Zebra_mutex_cond *p); +YAZ_EXPORT int zebra_mutex_cond_unlock (Zebra_mutex_cond *p); +YAZ_EXPORT int zebra_mutex_cond_wait (Zebra_mutex_cond *p); +YAZ_EXPORT int zebra_mutex_cond_signal (Zebra_mutex_cond *p); + YAZ_END_CDECL #endif