| version 1.26, 2016/03/30 09:20:40 |
version 1.28, 2016/08/27 00:11:27 |
|
|
| /* $OpenXM: OpenXM/src/kxx/oxmain.c,v 1.25 2006/06/05 04:40:15 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kxx/oxmain.c,v 1.27 2016/03/30 21:34:03 takayama Exp $ */ |
| /* Note on IntelMac. [2006.06.05] |
/* Note on IntelMac. [2006.06.05] |
| SIGINT does not seem to be blocked on the rosetta emulator of ppc |
SIGINT does not seem to be blocked on the rosetta emulator of ppc |
| on the IntelMac's. "ox" should be universal binary. |
on the IntelMac's. "ox" should be universal binary. |
| Line 43 int LocalMode = 1; |
|
| Line 43 int LocalMode = 1; |
|
| int NotifyPortnumber = 0; |
int NotifyPortnumber = 0; |
| int Do_not_use_control_stream_to_tell_no_server = 1; |
int Do_not_use_control_stream_to_tell_no_server = 1; |
| int IgnoreSIGINT = 1; |
int IgnoreSIGINT = 1; |
| |
int Ox_protocol_1999 = 0; |
| static void errorToStartEngine(void); |
static void errorToStartEngine(void); |
| static int findOxServer(char *server); |
static int findOxServer(char *server); |
| static void couldNotFind(char *s); |
static void couldNotFind(char *s); |
| Line 146 main(int argc, char *argv[]) { |
|
| Line 147 main(int argc, char *argv[]) { |
|
| if (i<argc) { |
if (i<argc) { |
| sscanf(argv[i],"%d",&IgnoreSIGINT); |
sscanf(argv[i],"%d",&IgnoreSIGINT); |
| } |
} |
| |
}else if (strcmp(argv[i],"-protocol_1999") == 0) { |
| |
Ox_protocol_1999=1; |
| }else { |
}else { |
| fprintf(stderr,"Unknown option %s.\n",argv[i]); |
fprintf(stderr,"Unknown option %s.\n",argv[i]); |
| oxmainUsage(); exit(10); |
oxmainUsage(); exit(10); |
| Line 388 parentServerMain(int fdControl, int fdStream) { |
|
| Line 391 parentServerMain(int fdControl, int fdStream) { |
|
| fprintf(stderr,"controlByteOrder=%x\n",controlByteOrder); |
fprintf(stderr,"controlByteOrder=%x\n",controlByteOrder); |
| |
|
| int sigint[]={SIGINT,-1}; |
int sigint[]={SIGINT,-1}; |
| set_signal(sigint,myServerExit); |
set_signal(sigint[0],myServerExit); |
| unblock_signal(sigint); |
unblock_signal(sigint); |
| while(1) { |
while(1) { |
| mtag = oxfdGetOXheader(fdControl,&SerialCurrentControl); |
mtag = oxfdGetOXheader(fdControl,&SerialCurrentControl); |
| Line 399 parentServerMain(int fdControl, int fdStream) { |
|
| Line 402 parentServerMain(int fdControl, int fdStream) { |
|
| switch( id ) { |
switch( id ) { |
| case SM_control_kill: |
case SM_control_kill: |
| if (message) printf("[control] control_kill\n"); |
if (message) printf("[control] control_kill\n"); |
| oxSendResultOfControl(fdControl); |
/* oxSendResultOfControl(fdControl); */ |
| sleep(2); |
sleep(2); |
| myServerExit(0); |
myServerExit(0); |
| break; |
break; |
| Line 408 parentServerMain(int fdControl, int fdStream) { |
|
| Line 411 parentServerMain(int fdControl, int fdStream) { |
|
| if (message) printf("Sending the SIGUSR1 signal to %d: ",MyServerPid); |
if (message) printf("Sending the SIGUSR1 signal to %d: ",MyServerPid); |
| r=kill(MyServerPid,SIGUSR1); |
r=kill(MyServerPid,SIGUSR1); |
| if (message) printf("Result = %d\n",r); |
if (message) printf("Result = %d\n",r); |
| |
if (Ox_protocol_1999) { |
| |
if (message) printf("[obsolete protocol of ox-rfc-100 in 1999] Sending the result packet to the control channel.\n",r); |
| |
oxSendResultOfControlInt32(fdControl,0); |
| |
} |
| fflush(NULL); |
fflush(NULL); |
| /* oxSendResultOfControlInt32(fdControl,0); */ |
/* oxSendResultOfControlInt32(fdControl,0); */ |
| break; |
break; |