X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fpazpar2.c;h=585c0f8548a8f13444d3444be72cb9a189392752;hb=ae9400ec7addabbfe2aa43ba0d273956aced7154;hp=7f699021b2ac71367532219d29242d5e0c57d5f2;hpb=f13ac948b76f05aeb46350de335406f9626054ba;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2.c b/src/pazpar2.c index 7f69902..585c0f8 100644 --- a/src/pazpar2.c +++ b/src/pazpar2.c @@ -23,6 +23,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #ifdef WIN32 #include #endif +#if HAVE_UNISTD_H +#include +#endif #include #include @@ -35,6 +38,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include +// #define MTRACE +#ifdef MTRACE +#include +#endif + static struct conf_config *sc_stop_config = 0; void child_handler(void *data) @@ -134,6 +142,7 @@ static int sc_main( break; case 'R': record_fname = arg; + global_parameters.predictable_sessions = 1; break; case 't': test_mode = 1; @@ -146,8 +155,17 @@ static int sc_main( break; case 'V': show_version(); + break; + case 'w': + if (chdir(arg)) + { + yaz_log(YLOG_FATAL|YLOG_ERRNO, "chdir %s", arg); + return 1; + } + break; case 'X': global_parameters.debug_mode++; + global_parameters.predictable_sessions = 1; break; default: fprintf(stderr, "Usage: pazpar2\n" @@ -162,6 +180,7 @@ static int sc_main( " -u uid Change user to uid\n" " -V Show version\n" " -v level Set log level\n" + " -w dir Working directory\n" " -X Debug mode\n" #ifdef WIN32 " -install Install windows service\n" @@ -227,10 +246,20 @@ int main(int argc, char **argv) { int ret; yaz_sc_t s = yaz_sc_create("pazpar2", "Pazpar2"); + +#ifdef MTRACE + mtrace(); +#endif ret = yaz_sc_program(s, argc, argv, sc_main, sc_stop); yaz_sc_destroy(&s); + +#ifdef MTRACE + muntrace(); +#endif + + exit(ret); }