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)
{
+ yaz_log(YLOG_LOG, "metaproxy received SIGTERM");
+ yaz_log(YLOG_LOG, "metaproxy stop");
kill(-process_group, SIGTERM); /* kill all children processes as well */
_exit(0);
}
{
#if HAVE_UNISTD_H
process_group = getpgid(0); // save process group ID
-
+
signal(SIGTERM, sig_term_handler);
signal(SIGUSR1, sig_usr1_handler);
#endif
routerp->start();
mp::Package pack;
- pack.router(*routerp).move(); /* should never exit */
+ pack.router(*routerp).move();
+ yaz_log(YLOG_LOG, "metaproxy stop"); /* only for graceful stop */
_exit(0);
}
return 1;
}
- yaz_log(YLOG_LOG, "Metaproxy start " VERSION
+ yaz_log(YLOG_LOG, "metaproxy start " VERSION
#ifdef VERSION_SHA1
" " VERSION_SHA1
#endif