X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fhttp_command.c;h=dc98b6e0833fb9623f58153ca6af3fe4bb3321dc;hb=9ee952e04b4765c49f3b767813f8c8d5579ae005;hp=d0e68c9dc97068c41b0a98055585b44b89cba8de;hpb=39b063c2816d8d221a0af5b6852af78035df7e4a;p=pazpar2-moved-to-github.git diff --git a/src/http_command.c b/src/http_command.c index d0e68c9..dc98b6e 100644 --- a/src/http_command.c +++ b/src/http_command.c @@ -1,4 +1,4 @@ -/* $Id: http_command.c,v 1.43 2007-05-23 09:57:54 adam Exp $ +/* $Id: http_command.c,v 1.44 2007-05-23 21:58:28 adam Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -20,7 +20,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA */ /* - * $Id: http_command.c,v 1.43 2007-05-23 09:57:54 adam Exp $ + * $Id: http_command.c,v 1.44 2007-05-23 21:58:28 adam Exp $ */ #include @@ -126,19 +126,26 @@ static void error(struct http_response *rs, unsigned int make_sessionid() { static int seq = 0; -#if 1 - return ++seq; -#else - struct timeval t; unsigned int res; seq++; - if (gettimeofday(&t, 0) < 0) - abort(); - res = t.tv_sec; - res = ((res << 8) | (seq & 0xff)) & ((1U << 31) - 1); + if (global_parameters.debug_mode) + res = seq; + else + { + struct timeval t; + + if (gettimeofday(&t, 0) < 0) + { + yaz_log(YLOG_WARN|YLOG_ERRNO, "gettimeofday"); + exit(1); + } + /* at most 256 sessions per second .. + (long long would be more appropriate)*/ + res = t.tv_sec; + res = ((res << 8) | (seq & 0xff)) & ((1U << 31) - 1); + } return res; -#endif } static struct http_session *locate_session(struct http_request *rq, struct http_response *rs)