=================================================================== RCS file: /home/cvs/OpenXM/src/k097/ox_k0.c,v retrieving revision 1.9 retrieving revision 1.13 diff -u -p -r1.9 -r1.13 --- OpenXM/src/k097/ox_k0.c 2013/11/07 07:29:47 1.9 +++ OpenXM/src/k097/ox_k0.c 2021/03/12 06:45:55 1.13 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/k097/ox_k0.c,v 1.8 2013/11/06 06:23:23 takayama Exp $ */ +/* $OpenXM: OpenXM/src/k097/ox_k0.c,v 1.12 2020/10/07 23:53:25 takayama Exp $ */ #include #include #include @@ -8,10 +8,14 @@ #include #include #include +#include /* -lnsl -lsocket /usr/ucblib/libucb.a */ #include "../kxx/ox_kan.h" #include "../kxx/serversm.h" +#include "ox_k0.h" +#include "ki.h" + int OxCritical = 0; int OxInterruptFlag = 0; int PacketMonitor = 0; @@ -30,7 +34,7 @@ jmp_buf EnvOfChildServer; int JmpMessage = 0; static char *getSuffix(char *s); -main(int argc, char *argv[]) { +int main(int argc, char *argv[]) { char *s; if (argc > 1) { @@ -46,6 +50,7 @@ main(int argc, char *argv[]) { K0_start(); nullserver(3,4); + return 0; } static char *getSuffix(char *s) { @@ -64,7 +69,7 @@ static char *getSuffix(char *s) { } return(s); } -nullserver(int fdStreamIn,int fdStreamOut) { +void nullserver(int fdStreamIn,int fdStreamOut) { int mtag; int message = 1; ox_stream ostreamIn; @@ -129,10 +134,10 @@ nullserver(int fdStreamIn,int fdStreamOut) { Calling_ctrlC_hook = 0; KSexecuteString(" (Computation is interrupted.) "); InSendmsg2 = 0; - signal(SIGUSR1,controlResetHandler); goto aaa; + mysignal(SIGUSR1,controlResetHandler); goto aaa; } else { if (JmpMessage) fprintf(stderr,"Set EnvOfChildServer.\n"); - signal(SIGUSR1,controlResetHandler); + mysignal(SIGUSR1,controlResetHandler); } #if defined(__CYGWIN__) if (sigsetjmp(EnvOfStackMachine,1)) { @@ -167,11 +172,11 @@ nullserver(int fdStreamIn,int fdStreamOut) { } Calling_ctrlC_hook = 0; InSendmsg2=0; - signal(SIGUSR1,controlResetHandler); goto aaa ; + mysignal(SIGUSR1,controlResetHandler); goto aaa ; } else { if (JmpMessage) fprintf(stderr,"Set EnvOfStackMachine.\n"); - if (signal(SIGUSR1,SIG_IGN) != SIG_IGN) { - signal(SIGUSR1,controlResetHandler); + if (mysignal(SIGUSR1,SIG_IGN) != SIG_IGN) { + mysignal(SIGUSR1,controlResetHandler); } } @@ -212,7 +217,7 @@ nullserver(int fdStreamIn,int fdStreamOut) { default: fprintf(stderr," ?! \n"); break; } } - /*sleep(2); /* for dubug OX_SYNC_BALL */ + /*sleep(2); // for dubug OX_SYNC_BALL */ switch(mtag) { case OX_COMMAND: nullserverCommand(ostreamIn,ostreamOut); @@ -231,7 +236,7 @@ nullserver(int fdStreamIn,int fdStreamOut) { } } -nullserverCommand(ox_stream ostreamIn,ox_stream ostreamOut) { +int nullserverCommand(ox_stream ostreamIn,ox_stream ostreamOut) { int id; int mtag; int n; @@ -291,7 +296,7 @@ nullserverCommand(ox_stream ostreamIn,ox_stream ostrea if (message) fprintf(stderr," executeStringByLocalParser\n"); OxCritical = 0; iresult = K0_executeStringByLocalParser(); - OxCritical = 1; signal(SIGUSR1,controlResetHandler); + OxCritical = 1; mysignal(SIGUSR1,controlResetHandler); if (iresult < 0) { emsg = Sm1_popErrorMessage("executeString: "); Sm1_pushError2(SerialCurrent,-1,emsg); @@ -302,7 +307,7 @@ nullserverCommand(ox_stream ostreamIn,ox_stream ostrea if (message) fprintf(stderr," executeFunction\n"); OxCritical = 0; iresult = K0_executeStringByLocalParser(); - OxCritical = 1; signal(SIGUSR1,controlResetHandler); + OxCritical = 1; mysignal(SIGUSR1,controlResetHandler); if (iresult < 0) { emsg = Sm1_popErrorMessage("executeFunction: "); Sm1_pushError2(SerialCurrent,-1,emsg); @@ -310,13 +315,13 @@ nullserverCommand(ox_stream ostreamIn,ox_stream ostrea } break; case SM_popCMO: - if (message) fprintf(stderr,"popCMO. Start to sending data.\n",n); + if (message) fprintf(stderr,"popCMO. Start to sending data %d\n",n); oxSendOXheader(ostreamOut,OX_DATA,SerialOX++); n=Sm1_popCMO(ostreamOut,SerialCurrent); if (message) fprintf(stderr,"Done.\n"); break; case SM_popString: - if (message) fprintf(stderr,"popString. send data from the stack.\n",n); + if (message) fprintf(stderr,"popString. send data from the stack %d\n",n); oxSendOXheader(ostreamOut,OX_DATA,SerialOX++); oxSendCmoString(ostreamOut,Sm1_popString()); if (message) fprintf(stderr,"Done.\n"); @@ -339,7 +344,7 @@ nullserverCommand(ox_stream ostreamIn,ox_stream ostrea } -nullserver_simplest(int fd) { +int nullserver_simplest(int fd) { int c; while(1) { c = readOneByte(fd); @@ -351,7 +356,7 @@ nullserver_simplest(int fd) { void controlResetHandler(sig) int sig; { - signal(sig,SIG_IGN); + mysignal(sig,SIG_IGN); cancelAlarm(); fprintf(stderr,"From controlResetHandler. OxCritical = %d\n",OxCritical); OxInterruptFlag = 1; @@ -382,7 +387,7 @@ extern int K00_verbose; int Startupk2 = 1; -K0_start() { +void K0_start() { extern int Saki; extern int Interactive; int i; @@ -444,7 +449,7 @@ K0_start() { KSstop(); closing */ -K0_executeStringByLocalParser() { +int K0_executeStringByLocalParser() { extern int Interactive; char *s; s = Sm1_popString();