/*
- * $Id: SimpleServer.xs,v 1.58 2007-04-17 07:56:29 adam Exp $
+ * $Id: SimpleServer.xs,v 1.60 2007-04-17 20:26:58 adam Exp $
* ----------------------------------------------------------------------
*
* Copyright (c) 2000-2004, Index Data.
#include <yaz/wrbuf.h>
#include <yaz/querytowrbuf.h>
#include <stdio.h>
+#include <yaz/mutex.h>
#ifdef WIN32
#else
#include <unistd.h>
#define sv_undef PL_sv_undef
#endif
-NMEM_MUTEX simpleserver_mutex;
+YAZ_MUTEX simpleserver_mutex;
typedef struct {
SV *handle;
int simpleserver_clone(void) {
#ifdef USE_ITHREADS
- nmem_mutex_enter(simpleserver_mutex);
+ yaz_mutex_enter(simpleserver_mutex);
if (1)
{
PerlInterpreter *current = PERL_GET_CONTEXT;
PERL_SET_CONTEXT( perl_interp );
}
}
- nmem_mutex_leave(simpleserver_mutex);
+ yaz_mutex_leave(simpleserver_mutex);
#endif
return 0;
}
void simpleserver_free(void) {
- nmem_mutex_enter(simpleserver_mutex);
+ yaz_mutex_enter(simpleserver_mutex);
if (1)
{
PerlInterpreter *current_interp = PERL_GET_CONTEXT;
perl_free(current_interp);
}
}
- nmem_mutex_leave(simpleserver_mutex);
+ yaz_mutex_leave(simpleserver_mutex);
}
-
static void oid2str(Odr_oid *o, WRBUF buf)
{
for (; *o >= 0; o++) {
}
}
+WRBUF oid2dotted(int *oid)
+{
+ WRBUF buf = wrbuf_alloc();
+ oid2str(oid, buf);
+ return buf;
+}
+
WRBUF zquery2pquery(Z_Query *q)
{
}
-/* ### this is worryingly similar to oid2str() */
-WRBUF oid2dotted(int *oid)
-{
-
- WRBUF buf = wrbuf_alloc();
- int dot = 0;
-
- for (; *oid != -1 ; oid++)
- {
- char ibuf[16];
- if (dot)
- {
- wrbuf_putc(buf, '.');
- }
- else
- {
- dot = 1;
- }
- sprintf(ibuf, "%d", *oid);
- wrbuf_puts(buf, ibuf);
- }
- return buf;
-}
-
int bend_fetch(void *handle, bend_fetch_rr *rr)
{
HV *href;
}
*argv_buf = NULL;
root_perl_context = PERL_GET_CONTEXT;
- nmem_mutex_create(&simpleserver_mutex);
+ yaz_mutex_create(&simpleserver_mutex);
#if 0
/* only for debugging perl_clone .. */
tst_clones();