[BACK]Return to tcpf.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / io

Diff for /OpenXM_contrib2/asir2000/io/tcpf.c between version 1.11 and 1.15

version 1.11, 2000/08/22 05:04:18 version 1.15, 2000/10/06 06:05:23
Line 44 
Line 44 
  * 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.10 2000/08/21 08:31:39 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"
Line 58 
Line 58 
 #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 352  Q *rp;
Line 354  Q *rp;
         /* client mode */          /* client mode */
         cn = get_iofp(cs,cport_str,0);          cn = get_iofp(cs,cport_str,0);
         sn = get_iofp(ss,sport_str,0);          sn = get_iofp(ss,sport_str,0);
           /* get_iofp returns -1 if the laucher could not spawn the server */
           if ( sn < 0 ) {
                   /* we should terminate the launcher */
                   ox_send_cmd(cn,SM_shutdown); ox_flush_stream_force(cn);
                   STOQ(-1,*rp);
                   return;
           }
   
         /* register server to the server list */          /* register server to the server list */
         ind = register_server(use_unix,cn,sn);          ind = register_server(use_unix,cn,sn);
Line 441  Q *rp;
Line 450  Q *rp;
         /* client mode */          /* client mode */
         cn = get_iofp(cs,control_port_str,0);          cn = get_iofp(cs,control_port_str,0);
         sn = get_iofp(ss,server_port_str,0);          sn = get_iofp(ss,server_port_str,0);
           /* get_iofp returns -1 if the laucher could not spawn the server */
           if ( sn < 0 ) {
                   /* we should terminate the launcher */
                   ox_send_cmd(cn,SM_shutdown); ox_flush_stream_force(cn);
                   STOQ(-1,*rp);
                   return;
           }
   
         /* register server to the server list */          /* register server to the server list */
         ind = register_server(use_unix,cn,sn);          ind = register_server(use_unix,cn,sn);
Line 472  char *control_port_str,*server_port_str;
Line 488  char *control_port_str,*server_port_str;
         char cmd[BUFSIZ];          char cmd[BUFSIZ];
         char localhost[BUFSIZ];          char localhost[BUFSIZ];
         char *dname,*conn_str,*rsh;          char *dname,*conn_str,*rsh;
           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";
         rsh = use_ssh ? "ssh" : RSH;          rsh = getenv("ASIR_RSH");
           if ( !rsh )
                   rsh = use_ssh ? "ssh" : RSH;
           if ( !use_unix && dname && strstr(rsh,"ssh") ) {
                   /*
                    * if "ssh" is used to invoke a remote server,
                    * we should not specify "-display".
                    */
                   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());
                         if ( dname )                          if ( dname )
                                 execlp("xterm","xterm","-name",OX_XTERM,"-display",dname,                                  execlp("xterm","xterm","-name",OX_XTERM,"-T","ox_launch:local","-display",dname,
                                         "-geometry","60x10","-e",launcher,".",conn_str,                                          "-geometry","60x10","-e",launcher,".",conn_str,
                                         control_port_str,server_port_str,server,dname,0);                                          control_port_str,server_port_str,server,dname,0);
                         else                          else
Line 493  char *control_port_str,*server_port_str;
Line 542  char *control_port_str,*server_port_str;
                 /* special support for java */                  /* special support for java */
                 if ( dname )                  if ( dname )
                         sprintf(cmd,                          sprintf(cmd,
                                 "%s -n %s \"(cd %s; xterm -name %s -display %s -geometry 60x10 -e java %s -host %s -control %s -data %s)>&/dev/null&\">/dev/null",                                  "%s -n %s \"(cd %s; xterm -name %s %s -geometry 60x10 -e java %s -host %s -control %s -data %s)>&/dev/null&\">/dev/null",
                                 rsh,host,launcher,OX_XTERM,dname,server,localhost,control_port_str,server_port_str);                                  rsh,host,launcher,OX_XTERM,dname,server,localhost,control_port_str,server_port_str);
                 else                  else
                         sprintf(cmd,                          sprintf(cmd,
Line 503  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 )
                         sprintf(cmd,                          sprintf(cmd,
                                 "%s -n %s \"xterm -name %s -display %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,dname,launcher,localhost,conn_str,                                  rsh,host,OX_XTERM,host,launcher,localhost,conn_str,
                                   control_port_str,server_port_str,server,"1");
                           else
                           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",
                                   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)

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.15

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>