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

Diff for /OpenXM/src/kxx/oxserver00.c between version 1.15 and 1.21

version 1.15, 2004/09/05 00:51:18 version 1.21, 2015/10/09 23:46:18
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kxx/oxserver00.c,v 1.14 2004/03/08 08:24:42 takayama Exp $ */  /* $OpenXM: OpenXM/src/kxx/oxserver00.c,v 1.20 2015/10/09 05:03:37 takayama Exp $ */
 /* nullserver01 */  /* nullserver01 */
 #include <stdio.h>  #include <stdio.h>
 #include <sys/types.h>  #include <sys/types.h>
Line 21  extern int SerialOX;  /* Serial number of the packets 
Line 21  extern int SerialOX;  /* Serial number of the packets 
 extern int SerialCurrent;  /* Current Serial number of the recieved packet. */  extern int SerialCurrent;  /* Current Serial number of the recieved packet. */
 extern int OXprintMessage; /* print oxmessages? */  extern int OXprintMessage; /* print oxmessages? */
 extern int Calling_ctrlC_hook;  extern int Calling_ctrlC_hook;
   extern int RestrictedMode, RestrictedMode_saved;
   
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__) || defined(__MSYS__)
 sigjmp_buf EnvOfChildServer;  sigjmp_buf EnvOfChildServer;
 #else  #else
 jmp_buf EnvOfChildServer;  jmp_buf EnvOfChildServer;
Line 98  nullserver(int fdStreamIn,int fdStreamOut) {
Line 99  nullserver(int fdStreamIn,int fdStreamOut) {
   ox_stream ostreamOut;    ox_stream ostreamOut;
   char sreason[1024];    char sreason[1024];
   extern void controlResetHandler();    extern void controlResetHandler();
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__) || defined(__MSYS__)
   extern sigjmp_buf EnvOfStackMachine;    extern sigjmp_buf EnvOfStackMachine;
 #else  #else
   extern jmp_buf EnvOfStackMachine;    extern jmp_buf EnvOfStackMachine;
Line 130  nullserver(int fdStreamIn,int fdStreamOut) {
Line 131  nullserver(int fdStreamIn,int fdStreamOut) {
     if (PacketMonitor) fp2watch(ostreamOut,stdout);      if (PacketMonitor) fp2watch(ostreamOut,stdout);
   }    }
   
     /* fprintf(stderr,"Hello world.\n"); OXprintMessage = 1;
        JmpMessage = 1; */
   
   aaa : ;    aaa : ;
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__)
   if (sigsetjmp(EnvOfChildServer,1)) {    if (MYSIGSETJMP(EnvOfChildServer,1)) {
 #else  #else
   if (setjmp(EnvOfChildServer)) {    if (MYSETJMP(EnvOfChildServer)) {
 #endif  #endif
     fprintf(stderr,"childServerMain: jump here.\n");      fprintf(stderr,"childServerMain: jump here.\n");
     if (OxInterruptFlag == 0) {      if (OxInterruptFlag == 0) {
       fprintf(stderr," ?! \n"); fflush(NULL);        fprintf(stderr," ?! \n"); fflush(NULL);
     }      }
     if (!Calling_ctrlC_hook) {      if (!Calling_ctrlC_hook) {
       Calling_ctrlC_hook = 1;        Calling_ctrlC_hook = 1; RestrictedMode = 0;
       KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */        KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
         RestrictedMode = RestrictedMode_saved;
     }      }
     Calling_ctrlC_hook = 0;      Calling_ctrlC_hook = 0;
         KSexecuteString(" (Computation is interrupted.) ");          KSexecuteString(" (Computation is interrupted.) ");
Line 152  nullserver(int fdStreamIn,int fdStreamOut) {
Line 157  nullserver(int fdStreamIn,int fdStreamOut) {
     signal(SIGUSR1,controlResetHandler);      signal(SIGUSR1,controlResetHandler);
   }    }
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__)
   if (sigsetjmp(EnvOfStackMachine,1)) {    if (MYSIGSETJMP(EnvOfStackMachine,1)) {
 #else  #else
   if (setjmp(EnvOfStackMachine)) {    if (MYSETJMP(EnvOfStackMachine)) {
 #endif  #endif
     fprintf(stderr,"childServerMain: jump here by EnvOfStackMachine or timeout.\n");      fprintf(stderr,"childServerMain: jump here by EnvOfStackMachine or timeout.\n");
     if (OxInterruptFlag == 0) {      if (OxInterruptFlag == 0) {
Line 171  nullserver(int fdStreamIn,int fdStreamOut) {
Line 176  nullserver(int fdStreamIn,int fdStreamOut) {
     Sm1_pushError2(SerialCurrent,-1,"Global jump by sm1 error");      Sm1_pushError2(SerialCurrent,-1,"Global jump by sm1 error");
   
     if (!Calling_ctrlC_hook) {      if (!Calling_ctrlC_hook) {
       Calling_ctrlC_hook = 1;        Calling_ctrlC_hook = 1; RestrictedMode = 0;
       KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */        KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
         RestrictedMode = RestrictedMode_saved;
     }      }
     Calling_ctrlC_hook = 0;      Calling_ctrlC_hook = 0;
     signal(SIGUSR1,controlResetHandler); goto aaa ;      signal(SIGUSR1,controlResetHandler); goto aaa ;
Line 361  nullserver_simplest(int fd) {
Line 367  nullserver_simplest(int fd) {
   int c;    int c;
   while(1) {    while(1) {
     c = readOneByte(fd);      c = readOneByte(fd);
     if (c == '@') { return; }      if (c == '@') { return 0; }
   }    }
 }  }
   
Line 377  void controlResetHandler(sig)
Line 383  void controlResetHandler(sig)
     return;      return;
   }else{    }else{
     (void) traceShowStack(); traceClearStack();      (void) traceShowStack(); traceClearStack();
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__) || defined(__MSYS__)
     siglongjmp(EnvOfChildServer,2); /* returns 2 for ctrl-C */      MYSIGLONGJMP(EnvOfChildServer,2); /* returns 2 for ctrl-C */
 #else  #else
     longjmp(EnvOfChildServer,2); /* returns 2 for ctrl-C */      MYLONGJMP(EnvOfChildServer,2); /* returns 2 for ctrl-C */
 #endif  #endif
   }    }
 }  }

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.21

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