version 1.13, 2000/09/25 04:33:37 |
version 1.15, 2000/10/06 06:05:23 |
|
|
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* $OpenXM: OpenXM_contrib2/asir2000/io/tcpf.c,v 1.12 2000/09/23 00:57:44 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/tcpf.c,v 1.14 2000/09/27 09:27:24 noro Exp $ |
*/ |
*/ |
#if INET |
#if INET |
#include "ca.h" |
#include "ca.h" |
|
|
#include "ox.h" |
#include "ox.h" |
|
|
#if defined(VISUAL) |
#if defined(VISUAL) |
|
#include <stdlib.h> |
#include <winsock.h> |
#include <winsock.h> |
|
#include <process.h> |
#endif |
#endif |
|
|
#define OX_XTERM "ox_xterm" |
#define OX_XTERM "ox_xterm" |
Line 487 char *control_port_str,*server_port_str; |
|
Line 489 char *control_port_str,*server_port_str; |
|
char localhost[BUFSIZ]; |
char localhost[BUFSIZ]; |
char *dname,*conn_str,*rsh; |
char *dname,*conn_str,*rsh; |
char dname_str[BUFSIZ]; |
char dname_str[BUFSIZ]; |
|
char AsirExe[BUFSIZ]; |
|
STRING rootdir; |
|
char prog[BUFSIZ]; |
|
char *av[BUFSIZ]; |
|
|
dname = use_x ? (char *)getenv("DISPLAY") : 0; |
dname = use_x ? (char *)getenv("DISPLAY") : 0; |
conn_str = conn_to_serv ? "1" : "0"; |
conn_str = conn_to_serv ? "1" : "0"; |
Line 501 char *control_port_str,*server_port_str; |
|
Line 507 char *control_port_str,*server_port_str; |
|
use_ssh = 1; |
use_ssh = 1; |
} |
} |
gethostname(localhost,BUFSIZ); |
gethostname(localhost,BUFSIZ); |
#if !defined(VISUAL) |
#if defined(VISUAL) |
|
if ( !use_unix ) |
|
error("spawn_server : not implemented on Windows"); |
|
Pget_rootdir(&rootdir); |
|
sprintf(AsirExe,"%s\\bin\\engine.exe",BDY(rootdir)); |
|
strcpy(prog,server); |
|
server = strrchr(prog,'/')+1; |
|
av[0] = "ox_launch"; |
|
av[1] = "127.0.0.1"; |
|
av[2] = conn_str; |
|
av[3] = control_port_str; |
|
av[4] = server_port_str; |
|
av[5] = server; |
|
av[6] = use_x ? "1" : "0"; |
|
av[7] = 0; |
|
|
|
_spawnv(_P_NOWAIT,AsirExe,av); |
|
// _spawnv(_P_NOWAIT,"d:\\home\\noro\\engine2000\\debug\\engine.exe",av); |
|
// printf("ox_launch 127.0.0.1 %s %s %s %s 0\n",conn_str,control_port_str,server_port_str,server); |
|
#else |
if ( use_unix ) { |
if ( use_unix ) { |
if ( !fork() ) { |
if ( !fork() ) { |
setpgid(0,getpid()); |
setpgid(0,getpid()); |
Line 527 char *control_port_str,*server_port_str; |
|
Line 552 char *control_port_str,*server_port_str; |
|
fprintf(stderr,"%s\n",cmd); |
fprintf(stderr,"%s\n",cmd); |
sleep(20); |
sleep(20); |
/* system(cmd); */ |
/* system(cmd); */ |
} else |
} else { |
#endif /* VISUAL */ |
|
{ |
|
if ( dname ) |
if ( dname ) |
if ( use_ssh ) |
if ( use_ssh ) |
sprintf(cmd, |
sprintf(cmd, |
"%s -f -n %s \"xterm -name %s -title ox_launch:%s -geometry 60x10 -e %s %s %s %s %s %s %s>&/dev/null\">/dev/null", |
"%s -f -n %s \"xterm -name %s -title ox_launch:%s -geometry 60x10 -e %s %s %s %s %s %s %s >&/dev/null\">/dev/null", |
rsh,host,OX_XTERM,host,launcher,localhost,conn_str, |
rsh,host,OX_XTERM,host,launcher,localhost,conn_str, |
control_port_str,server_port_str,server,"1"); |
control_port_str,server_port_str,server,"1"); |
else |
else |
sprintf(cmd, |
sprintf(cmd, |
"%s -n %s \"xterm -name %s -title ox_launch:%s -display %s -geometry 60x10 -e %s %s %s %s %s %s %s>&/dev/null&\">/dev/null", |
"%s -n %s \"xterm -name %s -title ox_launch:%s -display %s -geometry 60x10 -e %s %s %s %s %s %s %s >&/dev/null&\">/dev/null", |
rsh,host,OX_XTERM,host,dname,launcher,localhost,conn_str, |
rsh,host,OX_XTERM,host,dname,launcher,localhost,conn_str, |
control_port_str,server_port_str,server,dname); |
control_port_str,server_port_str,server,dname); |
else |
else |
sprintf(cmd, |
sprintf(cmd, |
"%s -n %s \"%s %s %s %s %s %s %s>&/dev/null&\">/dev/null", |
"%s -n %s \"%s %s %s %s %s %s %s >&/dev/null&\">/dev/null", |
rsh,host,launcher,localhost,conn_str, |
rsh,host,launcher,localhost,conn_str, |
control_port_str,server_port_str,server,"0"); |
control_port_str,server_port_str,server,"0"); |
system(cmd); |
system(cmd); |
} |
} |
|
#endif /* VISUAL */ |
} |
} |
|
|
void Pox_launch(arg,rp) |
void Pox_launch(arg,rp) |