X-Git-Url: http://git.indexdata.com/?p=simpleserver-moved-to-github.git;a=blobdiff_plain;f=SimpleServer.xs;h=7146877db341de753361bb1c434cc3c7d36afe76;hp=f3899e755f9d81c7f93e902fb69b7576397594b1;hb=4956f4b56e38c33e1f1dc81819112a9ab6551334;hpb=9d4aafa68700c76b6d82203bc53592875bb83825 diff --git a/SimpleServer.xs b/SimpleServer.xs index f3899e7..7146877 100644 --- a/SimpleServer.xs +++ b/SimpleServer.xs @@ -1,5 +1,5 @@ /* - * $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. @@ -37,6 +37,7 @@ #include #include #include +#include #ifdef WIN32 #else #include @@ -51,7 +52,7 @@ #define sv_undef PL_sv_undef #endif -NMEM_MUTEX simpleserver_mutex; +YAZ_MUTEX simpleserver_mutex; typedef struct { SV *handle; @@ -129,7 +130,7 @@ void tst_clones(void) int simpleserver_clone(void) { #ifdef USE_ITHREADS - nmem_mutex_enter(simpleserver_mutex); + yaz_mutex_enter(simpleserver_mutex); if (1) { PerlInterpreter *current = PERL_GET_CONTEXT; @@ -145,14 +146,14 @@ int simpleserver_clone(void) { 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; @@ -167,7 +168,7 @@ void simpleserver_free(void) { perl_free(current_interp); } } - nmem_mutex_leave(simpleserver_mutex); + yaz_mutex_leave(simpleserver_mutex); } @@ -262,7 +263,6 @@ Z_GenericRecord *read_grs1(char *str, ODR o) - static void oid2str(Odr_oid *o, WRBUF buf) { for (; *o >= 0; o++) { @@ -274,6 +274,13 @@ static void oid2str(Odr_oid *o, WRBUF buf) } } +WRBUF oid2dotted(int *oid) +{ + WRBUF buf = wrbuf_alloc(); + oid2str(oid, buf); + return buf; +} + WRBUF zquery2pquery(Z_Query *q) { @@ -767,30 +774,6 @@ int bend_search(void *handle, bend_search_rr *rr) } -/* ### 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; @@ -1574,7 +1557,7 @@ start_server(...) } *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();