X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fpazpar2.c;h=24020efa20d1ddae754a52bca63743d640856778;hb=13953c819a69e78fbfc1f5df26fef4670904909c;hp=bc87e4c89400263108a968043bd3076a4193cbcc;hpb=04864c49bf43ed46f71e0a6e452d56fe76fdfce1;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2.c b/src/pazpar2.c index bc87e4c..24020ef 100644 --- a/src/pazpar2.c +++ b/src/pazpar2.c @@ -1,4 +1,4 @@ -/* $Id: pazpar2.c,v 1.92 2007-07-10 09:19:32 adam Exp $ +/* $Id: pazpar2.c,v 1.94 2008-02-18 19:33:32 adam Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -30,6 +30,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "pazpar2.h" #include "database.h" #include "settings.h" +#include void child_handler(void *data) { @@ -50,6 +51,22 @@ void child_handler(void *data) } +static void show_version(void) +{ + char yaz_version_str[80]; + printf("Pazpar2 " VERSION "\n"); + + yaz_version(yaz_version_str, 0); + + printf("Configuration:"); +#if HAVE_ICU + printf(" icu:?"); +#endif + printf(" yaz:%s", yaz_version_str); + printf("\n"); + exit(0); +} + int main(int argc, char **argv) { int daemon = 0; @@ -63,8 +80,11 @@ int main(int argc, char **argv) yaz_log(YLOG_WARN|YLOG_ERRNO, "signal"); yaz_log_init_prefix("pazpar2"); +#if YAZ_VERSIONL >= 0x03001B + yaz_log_xml_errors(0, YLOG_WARN); +#endif - while ((ret = options("dDf:h:l:p:t:u:X", argv, argc, &arg)) != -2) + while ((ret = options("dDf:h:l:p:t:u:VX", argv, argc, &arg)) != -2) { switch (ret) { @@ -94,6 +114,8 @@ int main(int argc, char **argv) case 'u': uid = arg; break; + case 'V': + show_version(); case 'X': global_parameters.debug_mode = 1; break; @@ -107,6 +129,7 @@ int main(int argc, char **argv) " -p pidfile PID file\n" " -t settings\n" " -u uid\n" + " -V show version\n" " -X debug mode\n" ); exit(1); @@ -128,9 +151,11 @@ int main(int argc, char **argv) global_parameters.server = config->servers; start_http_listener(); - pazpar2_process(global_parameters.debug_mode, daemon, - child_handler, 0 /* child_data */, - pidfile, uid); + yaz_daemon("pazpar2", + (global_parameters.debug_mode ? YAZ_DAEMON_DEBUG : 0) + + (daemon ? YAZ_DAEMON_FORK : 0) + YAZ_DAEMON_KEEPALIVE, + child_handler, 0 /* child_data */, + pidfile, uid); return 0; }