[BACK]Return to ox100start.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kxx

Diff for /OpenXM/src/kxx/ox100start.c between version 1.5 and 1.8

version 1.5, 2003/11/20 07:18:41 version 1.8, 2016/03/31 05:27:34
Line 1 
Line 1 
 /* $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 */  /* Moved from misc-2003/07/cygwin/test.c */
 #include <stdio.h>  #include <stdio.h>
 #include <sys/types.h>  #include <sys/types.h>
Line 10 
Line 10 
 #include <signal.h>  #include <signal.h>
 #include <ctype.h>  #include <ctype.h>
 #include "ox_pathfinder.h"  #include "ox_pathfinder.h"
   #include "mysig.h"
   
 static void usage(void);  static void usage(void);
 static int forkExec(char **argv);  static int forkExec(char **argv);
Line 17  void *sGC_malloc(int size) {
Line 18  void *sGC_malloc(int size) {
   return ((void *)malloc(size));    return ((void *)malloc(size));
 }  }
   
   int Quiet = 0;
   static int EngineLogToStdout = 0;
 extern char **environ;  extern char **environ;
   
 main(int argc,char *argv[]) {  main(int argc,char *argv[]) {
Line 58  main(int argc,char *argv[]) {
Line 61  main(int argc,char *argv[]) {
           aaa = getServerEnv(serverName);            aaa = getServerEnv(serverName);
         }else if (strcmp(argv[i],"-nox")==0) {          }else if (strcmp(argv[i],"-nox")==0) {
           ox_pathfinderNoX(1);            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{          }else{
           fprintf(stderr,"Unknown option.\n");            fprintf(stderr,"Unknown option.\n");
           usage();            usage();
Line 75  static void myforkwait() {
Line 83  static void myforkwait() {
   int status;    int status;
   int pid;    int pid;
   int i,j;    int i,j;
   signal(SIGCHLD,SIG_IGN);    mysignal(SIGCHLD,SIG_IGN);
   pid = wait(&status);    pid = wait(&status);
   fprintf(stderr,"Child process %d is exiting.\n",pid);    fprintf(stderr,"Child process %d is exiting.\n",pid);
   for (i=0; i<Myforkcp; i++) {    for (i=0; i<Myforkcp; i++) {
Line 86  static void myforkwait() {
Line 94  static void myforkwait() {
       if (Myforkcp > 0) Myforkcp--;        if (Myforkcp > 0) Myforkcp--;
     }      }
   }    }
   signal(SIGCHLD,myforkwait);    mysignal(SIGCHLD,myforkwait);
 }  }
   
 static void usage() {  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,"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) {  static int forkExec(char **argv) {
Line 107  static int forkExec(char **argv) {
Line 117  static int forkExec(char **argv) {
     if (m&2) {      if (m&2) {
           /* Do not call singal to turn around a trouble on cygwin. BUG. */            /* Do not call singal to turn around a trouble on cygwin. BUG. */
         }else{          }else{
           signal(SIGCHLD,myforkwait); /* to kill Zombie */            mysignal(SIGCHLD,myforkwait); /* to kill Zombie */
         }          }
         Myforkchildren[Myforkcp++] = pid;          Myforkchildren[Myforkcp++] = pid;
         if (Myforkcp >= MYFORKCP_SIZE-1) {          if (Myforkcp >= MYFORKCP_SIZE-1) {
Line 122  static int forkExec(char **argv) {
Line 132  static int forkExec(char **argv) {
        sigaddset(&sss,SIGINT);         sigaddset(&sss,SIGINT);
        sigprocmask(SIG_BLOCK,&sss,NULL);         sigprocmask(SIG_BLOCK,&sss,NULL);
         }          }
         if (ox_pathfinderNoX(-1)) {          if (ox_pathfinderNoX(-1) && (!EngineLogToStdout)) {
           FILE *null;            FILE *null;
           null = fopen("/dev/null","wb");            null = fopen("/dev/null","wb");
           dup2(fileno(null),1);            dup2(fileno(null),1);

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>