ppmutex_level = yaz_log_module_level("mutex");
}
-void pazpar2_mutex_create(YAZ_MUTEX *p, const char *name)
+void pazpar2_mutex_create_flag(YAZ_MUTEX *p, const char *name, int flags)
{
assert(p);
- yaz_mutex_create(p);
+ yaz_mutex_create_attr(p, flags);
yaz_mutex_set_name(*p, ppmutex_level, name);
}
+void pazpar2_mutex_create(YAZ_MUTEX *p, const char *name) {
+ pazpar2_mutex_create_flag(p, name, 0);
+}
+
/*
* Local variables:
* c-basic-offset: 4
#define PAZPAR2_PPMUTEXF_H
#include <yaz/mutex.h>
+#include <pthread.h>
void pazpar2_mutex_init(void);
+void pazpar2_mutex_create_flag(YAZ_MUTEX *p, const char *name, int flags);
void pazpar2_mutex_create(YAZ_MUTEX *p, const char *name);
#endif
}
session->normalize_cache = normalize_cache_create();
session->session_mutex = 0;
- pazpar2_mutex_create(&session->session_mutex, name);
+ pazpar2_mutex_create_flag(&session->session_mutex, name, PTHREAD_MUTEX_RECURSIVE);
return session;
}
1 http://localhost:9763/search.pz2?session=7&command=show&block=1
1 http://localhost:9763/search.pz2?session=6&command=show&block=1
http://localhost:9763/search.pz2?session=6&command=record&id=title+computer+processing+of+dynamic+images+from+an+anger+scintillation+camera+author+medium+book&offset=0
+http://localhost:9763/search.pz2?command=init
+http://localhost:9763/search.pz2?session=8&command=settings&pz:name%5Bz3950.indexdata.com%2Fmarc%5D=marc&pz:requestsyntax%5Bz3950.indexdata.com%2Fmarc%5D=usmarc&pz:nativesyntax%5Bz3950.indexdata.com%2Fmarc%5D=iso2709&pz:xslt%5Bz3950.indexdata.com%2Fmarc%5D=marc21%5Ftest.xsl&pz:recordfilter%5Bz3950.indexdata.com%2Fmarc%5D=date
+http://localhost:9763/search.pz2?session=3&command=search&query=xyzzyz
+1 http://localhost:9763/search.pz2?session=6&command=show&block=1
\ No newline at end of file