* Copyright (c) 1998-2004, Index Data.
* See the file LICENSE for details.
*
- * $Id: yaz-proxy-main.cpp,v 1.27 2004-01-05 11:31:04 adam Exp $
+ * $Id: yaz-proxy-main.cpp,v 1.30 2004-01-12 22:35:26 adam Exp $
*/
#include <signal.h>
}
if (addr)
{
- yaz_log(LOG_LOG, "0 Starting proxy " VERSION );
if (proxy->server(addr))
{
yaz_log(LOG_FATAL|LOG_ERRNO, "listen %s", addr);
}
-static void child_run(Yaz_SocketManager *m)
+static void child_run(Yaz_SocketManager *m, int run)
{
- yaz_log(LOG_LOG, "0 proxy pid=%ld", (long) getpid());
+ signal(SIGHUP, sighup_handler);
+
+ yaz_log(LOG_LOG, "0 proxy run=%d pid=%ld", run, (long) getpid());
if (pid_fname)
{
FILE *f = fopen(pid_fname, "w");
int main(int argc, char **argv)
{
+#if HAVE_XSLT
+ xmlInitMemory();
+
+ LIBXML_TEST_VERSION
+#endif
int cont = 1;
- static int mk_pid = 0;
+ int run = 1;
Yaz_SocketManager mySocketManager;
Yaz_Proxy proxy(new Yaz_PDU_Assoc(&mySocketManager));
static_yaz_proxy = &proxy;
- signal(SIGHUP, sighup_handler);
-
args(&proxy, argc, argv);
if (debug)
{
- child_run(&mySocketManager);
+ child_run(&mySocketManager, run);
exit(0);
}
while (cont)
}
else if (p == 0)
{
- child_run(&mySocketManager);
+ child_run(&mySocketManager, run);
}
pid_t p1;
int status;
p1 = wait(&status);
+
+ yaz_log_reopen();
+
if (p1 != p)
{
yaz_log(LOG_FATAL, "p1=%d != p=%d", p1, p);
break;
case SIGTERM:
yaz_log(LOG_LOG, "Received SIGTERM from child %ld",
- WTERMSIG(status), (long) p);
+ (long) p);
cont = 0;
break;
default:
}
if (cont)
sleep(1);
+ run++;
}
exit (0);
return 0;