=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/oxserver00.c,v retrieving revision 1.7 retrieving revision 1.10 diff -u -p -r1.7 -r1.10 --- OpenXM/src/kxx/oxserver00.c 2002/02/24 10:27:21 1.7 +++ OpenXM/src/kxx/oxserver00.c 2003/08/22 16:08:23 1.10 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kxx/oxserver00.c,v 1.6 2001/12/21 02:32:11 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kxx/oxserver00.c,v 1.9 2002/11/04 11:09:00 takayama Exp $ */ /* nullserver01 */ #include #include @@ -118,6 +118,8 @@ nullserver(int fdStream) { if (OxInterruptFlag == 0) { fprintf(stderr," ?! \n"); fflush(NULL); } + KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */ + KSexecuteString(" (Computation is interrupted.) "); signal(SIGUSR1,controlResetHandler); goto aaa; } else { if (JmpMessage) fprintf(stderr,"Set EnvOfChildServer.\n"); @@ -128,7 +130,7 @@ nullserver(int fdStream) { #else if (setjmp(EnvOfStackMachine)) { #endif - fprintf(stderr,"childServerMain: jump here by EnvOfStackMachine.\n"); + fprintf(stderr,"childServerMain: jump here by EnvOfStackMachine or timeout.\n"); if (OxInterruptFlag == 0) { fprintf(stderr," ?! \n"); fflush(NULL); } @@ -142,6 +144,7 @@ nullserver(int fdStream) { */ Sm1_pushError2(SerialCurrent,-1,"Global jump by sm1 error"); + KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */ signal(SIGUSR1,controlResetHandler); goto aaa ; } else { if (JmpMessage) fprintf(stderr,"Set EnvOfStackMachine.\n"); @@ -183,7 +186,7 @@ nullserver(int fdStream) { case OX_DATA: fprintf(stderr," OX_DATA \n"); break; case OX_SYNC_BALL: fprintf(stderr," OX_SYNC_BALL \n"); break; case -1: fprintf(stderr," End of file. Exiting the server child.\n"); - exit(); break; + exit(0); break; default: fprintf(stderr," ?! \n"); break; } } @@ -327,6 +330,7 @@ void controlResetHandler(sig) int sig; { signal(sig,SIG_IGN); + cancelAlarm(); fprintf(stderr,"From controlResetHandler. OxCritical = %d\n",OxCritical); OxInterruptFlag = 1; if (OxCritical) {