=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/ox100start.c,v retrieving revision 1.6 retrieving revision 1.9 diff -u -p -r1.6 -r1.9 --- OpenXM/src/kxx/ox100start.c 2004/02/28 12:27:15 1.6 +++ OpenXM/src/kxx/ox100start.c 2020/10/07 07:47:23 1.9 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kxx/ox100start.c,v 1.5 2003/11/20 07:18:41 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kxx/ox100start.c,v 1.8 2016/03/31 05:27:34 takayama Exp $ */ /* Moved from misc-2003/07/cygwin/test.c */ #include #include @@ -9,7 +9,9 @@ #include #include #include +#include #include "ox_pathfinder.h" +#include "mysig.h" static void usage(void); static int forkExec(char **argv); @@ -18,9 +20,10 @@ void *sGC_malloc(int size) { } int Quiet = 0; +static int EngineLogToStdout = 0; extern char **environ; -main(int argc,char *argv[]) { +void main(int argc,char *argv[]) { char *s; char s2[1024]; char buf[1024]; @@ -59,6 +62,9 @@ main(int argc,char *argv[]) { aaa = getServerEnv(serverName); }else if (strcmp(argv[i],"-nox")==0) { ox_pathfinderNoX(1); + }else if (strcmp(argv[i],"-engineLogToStdout")==0) { + ox_pathfinderEngineLogToStdout(1); + EngineLogToStdout = 1; }else if (strcmp(argv[i],"-quiet")==0) { Quiet = 1; ox_pathfinder_quiet(); }else{ @@ -78,7 +84,7 @@ static void myforkwait() { int status; int pid; int i,j; - signal(SIGCHLD,SIG_IGN); + mysignal(SIGCHLD,SIG_IGN); pid = wait(&status); fprintf(stderr,"Child process %d is exiting.\n",pid); for (i=0; i 0) Myforkcp--; } } - signal(SIGCHLD,myforkwait); + mysignal(SIGCHLD,myforkwait); } static void usage() { - fprintf(stderr,"oxstart100 -oxserver xxx [-e args]\n"); + fprintf(stderr,"ox100start -oxserver xxx [-e args]\n"); fprintf(stderr,"Examples: \n"); - fprintf(stderr," oxstart100 -oxserver bin/ox_sm1 -e -reverse -data 3010 --control 3012 -pass 1121343432434 \n"); + fprintf(stderr," ox100start -oxserver bin/ox_sm1 -e -reverse -data 3010 --control 3012 -pass 1121343432434 \n"); + fprintf(stderr," ox100start -nox -engineLogToStdout -oxserver bin/ox_sm1 -e -data 3010 \n"); + } static int forkExec(char **argv) { @@ -110,7 +118,7 @@ static int forkExec(char **argv) { if (m&2) { /* Do not call singal to turn around a trouble on cygwin. BUG. */ }else{ - signal(SIGCHLD,myforkwait); /* to kill Zombie */ + mysignal(SIGCHLD,myforkwait); /* to kill Zombie */ } Myforkchildren[Myforkcp++] = pid; if (Myforkcp >= MYFORKCP_SIZE-1) { @@ -125,7 +133,7 @@ static int forkExec(char **argv) { sigaddset(&sss,SIGINT); sigprocmask(SIG_BLOCK,&sss,NULL); } - if (ox_pathfinderNoX(-1)) { + if (ox_pathfinderNoX(-1) && (!EngineLogToStdout)) { FILE *null; null = fopen("/dev/null","wb"); dup2(fileno(null),1);