=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/ox100start.c,v retrieving revision 1.5 retrieving revision 1.8 diff -u -p -r1.5 -r1.8 --- OpenXM/src/kxx/ox100start.c 2003/11/20 07:18:41 1.5 +++ OpenXM/src/kxx/ox100start.c 2016/03/31 05:27:34 1.8 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kxx/ox100start.c,v 1.4 2003/07/21 13:36:42 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kxx/ox100start.c,v 1.7 2006/01/26 08:36:50 takayama Exp $ */ /* Moved from misc-2003/07/cygwin/test.c */ #include #include @@ -10,6 +10,7 @@ #include #include #include "ox_pathfinder.h" +#include "mysig.h" static void usage(void); static int forkExec(char **argv); @@ -17,6 +18,8 @@ void *sGC_malloc(int size) { return ((void *)malloc(size)); } +int Quiet = 0; +static int EngineLogToStdout = 0; extern char **environ; main(int argc,char *argv[]) { @@ -58,6 +61,11 @@ 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{ fprintf(stderr,"Unknown option.\n"); usage(); @@ -75,7 +83,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) { @@ -107,7 +117,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) { @@ -122,7 +132,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);