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

Diff for /OpenXM/src/kxx/oxmain.c between version 1.25 and 1.26

version 1.25, 2006/06/05 04:40:15 version 1.26, 2016/03/30 09:20:40
Line 1 
Line 1 
 /*  $OpenXM: OpenXM/src/kxx/oxmain.c,v 1.24 2006/06/05 00:25:50 takayama Exp $  */  /*  $OpenXM: OpenXM/src/kxx/oxmain.c,v 1.25 2006/06/05 04:40:15 takayama Exp $  */
 /*  Note on IntelMac. [2006.06.05]  /*  Note on IntelMac. [2006.06.05]
     SIGINT does not seem to be blocked on the rosetta emulator of ppc      SIGINT does not seem to be blocked on the rosetta emulator of ppc
     on the IntelMac's. "ox" should be universal binary.      on the IntelMac's. "ox" should be universal binary.
Line 47  static void errorToStartEngine(void);
Line 47  static void errorToStartEngine(void);
 static int findOxServer(char *server);  static int findOxServer(char *server);
 static void couldNotFind(char *s);  static void couldNotFind(char *s);
 /*  gcc -v -c hoge.c */  /*  gcc -v -c hoge.c */
 static void mywait();  static void mywait(int m);
   
 void *sGC_malloc(int n) {  void *sGC_malloc(int n) {
   return (void *)malloc(n);    return (void *)malloc(n);
Line 75  main(int argc, char *argv[]) {
Line 75  main(int argc, char *argv[]) {
   char *stmp;    char *stmp;
   extern int OxTerminateMode;    extern int OxTerminateMode;
   
   signal(SIGHUP,SIG_IGN);  /* ignore x of xterm */    int sighup[]={SIGHUP,-1};
     block_signal(sighup);  /* ignore x of xterm */
   strcpy(sname,"localhost");    strcpy(sname,"localhost");
   strcpy(ServerName,SERVERNAME);    strcpy(ServerName,SERVERNAME);
   i = 1;    i = 1;
Line 367  parentServerMain(int fdControl, int fdStream) {
Line 368  parentServerMain(int fdControl, int fdStream) {
   int message = 1;    int message = 1;
   int controlByteOrder;    int controlByteOrder;
   extern OxTerminateMode;    extern OxTerminateMode;
   extern void myServerExit();    extern void myServerExit(int m);
   
   signal(SIGCHLD,mywait);    int sigchld[]={SIGCHLD,-1};
     unblock_signal(sigchld);
   if (OxTerminateMode) {    if (OxTerminateMode) {
         /*          /*
           OxTerminateMode cannot be used if you run ox by xterm -exec ox ...            OxTerminateMode cannot be used if you run ox by xterm -exec ox ...
Line 385  parentServerMain(int fdControl, int fdStream) {
Line 387  parentServerMain(int fdControl, int fdStream) {
   /* Set the network byte order. */    /* Set the network byte order. */
   fprintf(stderr,"controlByteOrder=%x\n",controlByteOrder);    fprintf(stderr,"controlByteOrder=%x\n",controlByteOrder);
   
     int sigint[]={SIGINT,-1};
   signal(SIGINT,myServerExit);    set_signal(sigint,myServerExit);
     unblock_signal(sigint);
   while(1) {    while(1) {
     mtag = oxfdGetOXheader(fdControl,&SerialCurrentControl);      mtag = oxfdGetOXheader(fdControl,&SerialCurrentControl);
     /* get the message_tag */      /* get the message_tag */
Line 398  parentServerMain(int fdControl, int fdStream) {
Line 401  parentServerMain(int fdControl, int fdStream) {
       if (message) printf("[control] control_kill\n");        if (message) printf("[control] control_kill\n");
       oxSendResultOfControl(fdControl);        oxSendResultOfControl(fdControl);
       sleep(2);        sleep(2);
       myServerExit();        myServerExit(0);
       break;        break;
     case SM_control_reset_connection:      case SM_control_reset_connection:
       if (message) printf("[control] control_reset_connection.\n");        if (message) printf("[control] control_reset_connection.\n");
Line 411  parentServerMain(int fdControl, int fdStream) {
Line 414  parentServerMain(int fdControl, int fdStream) {
     default:      default:
       fprintf(stderr,"[control] Unknown control message.\n");        fprintf(stderr,"[control] Unknown control message.\n");
       fprintf(stderr,"Shutdown the server.");        fprintf(stderr,"Shutdown the server.");
       myServerExit();        myServerExit(0);
       break;        break;
     }      }
   }    }
 }  }
   
 void myServerExit() {  void myServerExit(int m) {
   printf("Sending the kill signal to the child.\n");    printf("Sending the kill signal to the child.\n");
   kill(MyServerPid,SIGKILL);    kill(MyServerPid,SIGKILL);
   exit(0);    exit(0);
Line 472  childServerMain(int fdControl, int fdStream) {
Line 475  childServerMain(int fdControl, int fdStream) {
         setrlimit(RLIMIT_STACK,&res);          setrlimit(RLIMIT_STACK,&res);
   }    }
   
   if (IgnoreSIGINT) { signal(SIGINT, SIG_IGN); fprintf(stderr,"SIGING\n");}    int sigint[]={SIGINT,-1};
     if (IgnoreSIGINT) { block_signal(sigint); fprintf(stderr,"SIGING\n");}
   
   if (PacketMonitor) {    if (PacketMonitor) {
     if (execle(ServerName,ServerName,"-monitor",NULL,environ)) {      if (execle(ServerName,ServerName,"-monitor",NULL,environ)) {
Line 535  static void couldNotFind(char *s) {
Line 539  static void couldNotFind(char *s) {
 }  }
   
   
 static void mywait() {  static void mywait(int m) {
   int status;    int status;
   int pid;    int pid;
   int i,j;    int i,j;

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

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