version 1.4, 2003/11/19 00:11:02 |
version 1.8, 2013/11/06 06:23:23 |
|
|
/* $OpenXM: OpenXM/src/k097/ox_k0.c,v 1.3 2003/11/18 11:08:27 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/k097/ox_k0.c,v 1.7 2004/09/17 02:42:58 takayama Exp $ */ |
#include <stdio.h> |
#include <stdio.h> |
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/socket.h> |
#include <sys/socket.h> |
Line 18 int PacketMonitor = 0; |
|
Line 18 int PacketMonitor = 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; |
|
|
#if defined(__CYGWIN__) |
#if defined(__CYGWIN__) |
sigjmp_buf EnvOfChildServer; |
sigjmp_buf EnvOfChildServer; |
Line 68 nullserver(int fdStreamIn,int fdStreamOut) { |
|
Line 69 nullserver(int fdStreamIn,int fdStreamOut) { |
|
ox_stream ostreamIn; |
ox_stream ostreamIn; |
ox_stream ostreamOut; |
ox_stream ostreamOut; |
char sreason[1024]; |
char sreason[1024]; |
|
extern int RestrictedMode, RestrictedMode_saved; |
extern void controlResetHandler(); |
extern void controlResetHandler(); |
#if defined(__CYGWIN__) |
#if defined(__CYGWIN__) |
extern sigjmp_buf EnvOfStackMachine; |
extern sigjmp_buf EnvOfStackMachine; |
Line 75 nullserver(int fdStreamIn,int fdStreamOut) { |
|
Line 77 nullserver(int fdStreamIn,int fdStreamOut) { |
|
extern jmp_buf EnvOfStackMachine; |
extern jmp_buf EnvOfStackMachine; |
#endif |
#endif |
int engineByteOrder; |
int engineByteOrder; |
|
extern int InSendmsg2; |
|
|
fflush(NULL); |
fflush(NULL); |
engineByteOrder = oxTellMyByteOrder(fdStreamOut,fdStreamIn); |
engineByteOrder = oxTellMyByteOrder(fdStreamOut,fdStreamIn); |
Line 117 nullserver(int fdStreamIn,int fdStreamOut) { |
|
Line 120 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.) "); |
|
InSendmsg2 = 0; |
signal(SIGUSR1,controlResetHandler); goto aaa; |
signal(SIGUSR1,controlResetHandler); goto aaa; |
} else { |
} else { |
if (JmpMessage) fprintf(stderr,"Set EnvOfChildServer.\n"); |
if (JmpMessage) fprintf(stderr,"Set EnvOfChildServer.\n"); |
Line 150 nullserver(int fdStreamIn,int fdStreamOut) { |
|
Line 159 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; |
|
InSendmsg2=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 327 nullserver_simplest(int fd) { |
|
Line 342 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 342 void controlResetHandler(sig) |
|
Line 357 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 |