Tokenize for index_type system.
[idzebra-moved-to-github.git] / index / zebrasrv.c
index 29b19aa..9629d41 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: zebrasrv.c,v 1.18 2007-08-22 08:13:00 adam Exp $
+/* $Id: zebrasrv.c,v 1.20 2007-10-25 07:43:13 adam Exp $
    Copyright (C) 1995-2007
    Index Data ApS
 
@@ -61,6 +61,7 @@ bend_initresult *bend_init (bend_initrequest *q)
     struct statserv_options_block *sob;
     char *user = NULL;
     char *passwd = NULL;
+    char version_str[16];
 
     r->errcode = 0;
     r->errstring = 0;
@@ -72,8 +73,10 @@ bend_initresult *bend_init (bend_initrequest *q)
     q->bend_fetch = bend_fetch;
     q->bend_scan = bend_scan;
 
+    zebra_get_version(version_str, 0);
+
     q->implementation_name = "Zebra Information Server";
-    q->implementation_version = "Zebra " ZEBRAVER;
+    q->implementation_version = odr_strdup(q->stream, version_str);
 
     yaz_log (YLOG_DEBUG, "bend_init");
 
@@ -734,7 +737,7 @@ static void bend_start (struct statserv_options_block *sob)
 #ifdef WIN32
     
 #else
-    if (!sob->inetd) 
+    if (!sob->inetd && !sob->background) 
     {
        char pidfname[4096];
         struct flock area;
@@ -781,7 +784,7 @@ static void bend_stop(struct statserv_options_block *sob)
 #ifdef WIN32
 
 #else
-    if (!sob->inetd && sob->handle) 
+    if (!sob->inetd && !sob->background && sob->handle) 
     {
        char pidfname[4096];
        zebra_pidfname(sob->handle, pidfname);