projects
/
pazpar2-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Destroy configuration at exit from main
[pazpar2-moved-to-github.git]
/
src
/
pazpar2.c
diff --git
a/src/pazpar2.c
b/src/pazpar2.c
index
51b7249
..
0db4a4f
100644
(file)
--- a/
src/pazpar2.c
+++ b/
src/pazpar2.c
@@
-38,6
+38,7
@@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include <yaz/log.h>
#include <yaz/options.h>
#include <yaz/sc.h>
#include <yaz/log.h>
#include <yaz/options.h>
#include <yaz/sc.h>
+#include <yaz/backtrace.h>
// #define MTRACE
#ifdef MTRACE
// #define MTRACE
#ifdef MTRACE
@@
-57,7
+58,7
@@
void child_handler(void *data)
static void show_version(void)
{
static void show_version(void)
{
- char yaz_version_str[80];
+ char yaz_version_str[20];
printf("Pazpar2 " PACKAGE_VERSION
#ifdef PAZPAR2_VERSION_SHA1
" "
printf("Pazpar2 " PACKAGE_VERSION
#ifdef PAZPAR2_VERSION_SHA1
" "
@@
-108,6
+109,9
@@
static int sc_main(
struct conf_config *config = 0;
int test_mode = 0;
struct conf_config *config = 0;
int test_mode = 0;
+ xmlInitParser();
+ LIBXML_TEST_VERSION
+
#ifndef WIN32
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
yaz_log(YLOG_WARN|YLOG_ERRNO, "signal");
#ifndef WIN32
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
yaz_log(YLOG_WARN|YLOG_ERRNO, "signal");
@@
-116,8
+120,11
@@
static int sc_main(
#endif
yaz_log_init_prefix("pazpar2");
#endif
yaz_log_init_prefix("pazpar2");
+ yaz_log_init_level(yaz_log_mask_str("post"));
yaz_log_xml_errors(0, YLOG_WARN);
yaz_log_xml_errors(0, YLOG_WARN);
+ yaz_enable_panic_backtrace(argv[0]);
+
while ((ret = options("dDf:h:l:m:p:R:tu:v:Vw:X", argv, argc, &arg)) != -2)
{
switch (ret)
while ((ret = options("dDf:h:l:m:p:R:tu:v:Vw:X", argv, argc, &arg)) != -2)
{
switch (ret)
@@
-145,7
+152,8
@@
static int sc_main(
pidfile = arg;
break;
case 'R':
pidfile = arg;
break;
case 'R':
- record_fname = arg;
+ if (strcmp(arg, "-"))
+ record_fname = arg;
global_parameters.predictable_sessions = 1;
break;
case 't':
global_parameters.predictable_sessions = 1;
break;
case 't':
@@
-208,20
+216,25
@@
static int sc_main(
}
pazpar2_mutex_init();
}
pazpar2_mutex_init();
- if (!test_mode)
{
{
- yaz_log(YLOG_LOG, "Pazpar2 start " VERSION " "
+ char yaz_version_str[20];
+ char yaz_sha1_str[41];
+ yaz_log(YLOG_LOG, "Pazpar2 %s " VERSION " "
#ifdef PAZPAR2_VERSION_SHA1
PAZPAR2_VERSION_SHA1
#else
"-"
#endif
#ifdef PAZPAR2_VERSION_SHA1
PAZPAR2_VERSION_SHA1
#else
"-"
#endif
- );
+ , test_mode ? "test" : "start");
+ yaz_version(yaz_version_str, yaz_sha1_str);
+ yaz_log(YLOG_LOG, "YAZ %s %s", yaz_version_str, yaz_sha1_str);
}
}
+
config = config_create(config_fname);
if (!config)
return 1;
sc_stop_config = config;
config = config_create(config_fname);
if (!config)
return 1;
sc_stop_config = config;
+ ret = 0;
if (test_mode)
{
yaz_log(YLOG_LOG, "Configuration OK");
if (test_mode)
{
yaz_log(YLOG_LOG, "Configuration OK");
@@
-229,7
+242,6
@@
static int sc_main(
}
else
{
}
else
{
- ret = 0;
if (daemon && !log_file_in_use)
{
yaz_log(YLOG_FATAL, "Logfile must be given (option -l) for daemon "
if (daemon && !log_file_in_use)
{
yaz_log(YLOG_FATAL, "Logfile must be given (option -l) for daemon "
@@
-249,9
+261,9
@@
static int sc_main(
pidfile, uid);
}
yaz_log(YLOG_LOG, "Pazpar2 stop");
pidfile, uid);
}
yaz_log(YLOG_LOG, "Pazpar2 stop");
- return ret;
}
}
- return 0;
+ config_destroy(config);
+ return ret;
}
}