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; |