From 62946bf8bf10a59cd8eefc5ddfdbd1426fb60fe9 Mon Sep 17 00:00:00 2001 From: Wolfram Schneider Date: Wed, 5 Aug 2009 09:06:32 +0000 Subject: [PATCH] New command line option: -T session_timeout Specifies a Pazpar2 HTTP session timeout. This overrides the default value of 60 seconds which is to low for some broken browser. --- doc/pazpar2.xml | 11 +++++++++++ src/pazpar2.c | 12 +++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/doc/pazpar2.xml b/doc/pazpar2.xml index e22f4f0..54f92b4 100644 --- a/doc/pazpar2.xml +++ b/doc/pazpar2.xml @@ -33,6 +33,7 @@ + @@ -110,6 +111,7 @@ + @@ -120,6 +122,15 @@ + + + + + Specifies a Pazpar2 HTTP session timeout. This + overrides the default value of 60 seconds which is to low for some broken browser. + + + diff --git a/src/pazpar2.c b/src/pazpar2.c index 6b387b7..671558c 100644 --- a/src/pazpar2.c +++ b/src/pazpar2.c @@ -98,6 +98,7 @@ static int sc_main( char *arg; const char *pidfile = 0; const char *uid = 0; + int session_timeout = 60; // session timeout #ifndef WIN32 if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) @@ -109,7 +110,7 @@ static int sc_main( yaz_log_init_prefix("pazpar2"); yaz_log_xml_errors(0, YLOG_WARN); - while ((ret = options("dDf:h:l:p:t:u:VX", argv, argc, &arg)) != -2) + while ((ret = options("dDf:h:l:p:t:T:u:VX", argv, argc, &arg)) != -2) { switch (ret) { @@ -136,6 +137,14 @@ static int sc_main( case 't': strcpy(global_parameters.settings_path_override, arg); break; + case 'T': + session_timeout = atoi(arg); + if (session_timeout >= 10 && session_timeout <= 86400) { + global_parameters.session_timeout = session_timeout; + } else { + fprintf(stderr, "Session timeout out of range 10..86400: %d\n", session_timeout); + } + break; case 'u': uid = arg; break; @@ -153,6 +162,7 @@ static int sc_main( " -l file log to file\n" " -p pidfile PID file\n" " -t settings\n" + " -T session_timeout\n" " -u uid\n" " -V show version\n" " -X debug mode\n" -- 1.7.10.4