[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.13 and 1.17

version 1.13, 2003/11/20 11:41:44 version 1.17, 2013/11/06 06:23:24
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kxx/oxserver00.c,v 1.12 2003/11/19 01:02:40 takayama Exp $ */  /* $OpenXM: OpenXM/src/kxx/oxserver00.c,v 1.16 2004/09/17 02:42:58 takayama Exp $ */
 /* nullserver01 */  /* nullserver01 */
 #include <stdio.h>  #include <stdio.h>
 #include <sys/types.h>  #include <sys/types.h>
Line 20  int NoExecution = 0;
Line 20  int NoExecution = 0;
 extern int SerialOX;  /* Serial number of the packets sent. */  extern int SerialOX;  /* Serial number of the packets sent. */
 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 RestrictedMode, RestrictedMode_saved;
   
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__)
 sigjmp_buf EnvOfChildServer;  sigjmp_buf EnvOfChildServer;
Line 139  nullserver(int fdStreamIn,int fdStreamOut) {
Line 141  nullserver(int fdStreamIn,int fdStreamOut) {
     if (OxInterruptFlag == 0) {      if (OxInterruptFlag == 0) {
       fprintf(stderr," ?! \n"); fflush(NULL);        fprintf(stderr," ?! \n"); fflush(NULL);
     }      }
         KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */      if (!Calling_ctrlC_hook) {
         Calling_ctrlC_hook = 1; RestrictedMode = 0;
         KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
         RestrictedMode = RestrictedMode_saved;
       }
       Calling_ctrlC_hook = 0;
         KSexecuteString(" (Computation is interrupted.) ");          KSexecuteString(" (Computation is interrupted.) ");
     signal(SIGUSR1,controlResetHandler); goto aaa;      signal(SIGUSR1,controlResetHandler); goto aaa;
   } else {    } else {
Line 165  nullserver(int fdStreamIn,int fdStreamOut) {
Line 172  nullserver(int fdStreamIn,int fdStreamOut) {
     */      */
     Sm1_pushError2(SerialCurrent,-1,"Global jump by sm1 error");      Sm1_pushError2(SerialCurrent,-1,"Global jump by sm1 error");
   
         KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */      if (!Calling_ctrlC_hook) {
         Calling_ctrlC_hook = 1; RestrictedMode = 0;
         KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
         RestrictedMode = RestrictedMode_saved;
       }
       Calling_ctrlC_hook = 0;
     signal(SIGUSR1,controlResetHandler); goto aaa ;      signal(SIGUSR1,controlResetHandler); goto aaa ;
   } else {    } else {
     if (JmpMessage) fprintf(stderr,"Set EnvOfStackMachine.\n");      if (JmpMessage) fprintf(stderr,"Set EnvOfStackMachine.\n");
Line 306  nullserverCommand(ox_stream ostreamIn,ox_stream ostrea
Line 318  nullserverCommand(ox_stream ostreamIn,ox_stream ostrea
       return(-1);        return(-1);
     }      }
     break;      break;
     case SM_executeFunctionWithOptionalArgument:
       OxCritical = 0;
           if (NoExecution) {
             iresult = 0;
           }else{
             iresult = Sm1_executeStringByLocalParser();
           }
       OxCritical = 1; signal(SIGUSR1,controlResetHandler);
       if (iresult < 0) {
         emsg = Sm1_popErrorMessage("executeFunctionWithOptionalArgument: ");
         Sm1_pushError2(SerialCurrent,-1,emsg);
         return(-1);
       }
       break;
   case SM_popCMO:    case SM_popCMO:
     oxSendOXheader(ostreamOut,OX_DATA,SerialOX++);      oxSendOXheader(ostreamOut,OX_DATA,SerialOX++);
     n=Sm1_popCMO(ostreamOut,SerialCurrent);      n=Sm1_popCMO(ostreamOut,SerialCurrent);
Line 338  nullserver_simplest(int fd) {
Line 364  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 353  void controlResetHandler(sig)
Line 379  void controlResetHandler(sig)
   if (OxCritical) {    if (OxCritical) {
     return;      return;
   }else{    }else{
       (void) traceShowStack(); traceClearStack();
 #if defined(__CYGWIN__)  #if defined(__CYGWIN__)
     siglongjmp(EnvOfChildServer,2); /* returns 2 for ctrl-C */      siglongjmp(EnvOfChildServer,2); /* returns 2 for ctrl-C */
 #else  #else

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.17

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