X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fmetaproxy_prog.cpp;h=ecdee29e2ff86d6dc78d4f84113e98f61870e312;hb=10970bb91099da2d89445b9ecdea611190aca618;hp=0deb96e0611a5afd26db7ab8f871dffeb685d15f;hpb=9401913fbcdbead99f1180848f5fef0d02fd871e;p=metaproxy-moved-to-github.git diff --git a/src/metaproxy_prog.cpp b/src/metaproxy_prog.cpp index 0deb96e..ecdee29 100644 --- a/src/metaproxy_prog.cpp +++ b/src/metaproxy_prog.cpp @@ -54,6 +54,7 @@ static void sig_usr1_handler(int s) { yaz_log(YLOG_LOG, "metaproxy received SIGUSR1"); routerp->stop(); + yaz_daemon_stop(); } static void sig_term_handler(int s) @@ -69,7 +70,7 @@ static void work_common(void *data) { #if HAVE_UNISTD_H process_group = getpgid(0); // save process group ID - + signal(SIGTERM, sig_term_handler); signal(SIGUSR1, sig_usr1_handler); #endif @@ -78,11 +79,7 @@ static void work_common(void *data) mp::Package pack; pack.router(*routerp).move(); - /* this only exits if graceful stop is received (sig_usr1_handler) */ - yaz_log(YLOG_LOG, "metaproxy stop"); -#if HAVE_UNISTD_H - kill(-process_group, SIGTERM); /* kill all children processes as well */ -#endif + yaz_log(YLOG_LOG, "metaproxy stop"); /* only for graceful stop */ _exit(0); } @@ -194,6 +191,7 @@ static int sc_main( #endif ); + yaz_log_xml_errors(0, YLOG_LOG); xmlDocPtr doc = xmlReadFile(fname, NULL, XML_PARSE_XINCLUDE + XML_PARSE_NOBLANKS @@ -201,7 +199,7 @@ static int sc_main( if (!doc) { - yaz_log (YLOG_FATAL,"XML parsing failed"); + yaz_log(YLOG_FATAL,"XML parsing failed"); return 1; } // and perform Xinclude then @@ -238,7 +236,7 @@ static int sc_main( } } catch (std::logic_error &e) { - yaz_log (YLOG_FATAL,"std::logic error: %s" , e.what() ); + yaz_log(YLOG_FATAL,"std::logic error: %s" , e.what() ); ret = 1; } catch (std::runtime_error &e) { @@ -269,8 +267,6 @@ int main(int argc, char **argv) exit(ret); } - - /* * Local variables: * c-basic-offset: 4