+ int r = 1;
+ if (p->log_level)
+ { /* debugging */
+ r = pthread_mutex_trylock(&p->handle);
+ if (r)
+ {
+ yaz_log(p->log_level,
+ "yaz_mutex_enter: %p name=%s waiting", p, p->name);
+ }
+ }
+ /* r == 0 if already locked */
+ if (r && pthread_mutex_lock(&p->handle))
+ {
+ yaz_log(p->log_level ? p->log_level : YLOG_WARN,
+ "yaz_mutex_enter: %p error", p);
+ }