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

Diff for /OpenXM_contrib2/asir2000/io/ox_launch.c between version 1.21 and 1.27

version 1.21, 2006/09/26 05:35:26 version 1.27, 2016/08/24 05:33:58
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/ox_launch.c,v 1.20 2004/06/15 09:04:41 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/io/ox_launch.c,v 1.26 2015/08/14 13:51:55 fujimoto Exp $
 */  */
 #include <setjmp.h>  #include <setjmp.h>
 #include <signal.h>  #include <signal.h>
Line 52 
Line 52 
 #include "ca.h"  #include "ca.h"
 #include "com.h"  #include "com.h"
 #include "ox.h"  #include "ox.h"
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
 #include <stdlib.h>  #include <stdlib.h>
 #include <windows.h>  #include <windows.h>
 #include <io.h>  #include <io.h>
Line 69 
Line 69 
 #include <unistd.h>  #include <unistd.h>
 #endif  #endif
   
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
 HANDLE hIntr,hReset,hKill;  HANDLE hIntr,hReset,hKill;
   extern int _fileinfo;
 #endif  #endif
   
 static void put_log(char *);  static void put_log(char *);
Line 117  void launch_main(argc,argv)
Line 118  void launch_main(argc,argv)
 int argc;  int argc;
 char **argv;  char **argv;
 {  {
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__)
         Obj p;          Obj p;
         char *name;          char *name;
         char buf[BUFSIZ];          char buf[BUFSIZ];
Line 142  char **argv;
Line 143  char **argv;
         dname = argv[6];          dname = argv[6];
         nolog = argc > 7 ? argv[7]: 0;          nolog = argc > 7 ? argv[7]: 0;
   
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
                 init_socket();                  init_socket();
 #endif  #endif
   
         signal(SIGINT,SIG_IGN);          set_signal(SIGINT,SIG_IGN);
 #if defined(SIGHUP)  #if defined(SIGHUP)
         signal(SIGHUP,SIG_IGN);          set_signal(SIGHUP,SIG_IGN);
 #endif  #endif
 #if defined(SIGUSR1)  #if defined(SIGUSR1)
         signal(SIGUSR1,SIG_IGN);          set_signal(SIGUSR1,SIG_IGN);
 #endif  #endif
 #if defined(SIGTERM)  #if defined(SIGTERM)
         signal(SIGTERM,terminate_server);          set_signal(SIGTERM,terminate_server);
 #endif  #endif
   
         /* XXX a dirty hack */          /* XXX a dirty hack */
Line 198  char **argv;
Line 199  char **argv;
         }          }
 }  }
   
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
 static void do_cmd(cmd)  static void do_cmd(cmd)
 int cmd;  int cmd;
 {  {
Line 262  int bs;
Line 263  int bs;
 char *dname;  char *dname;
 char *nolog;  char *nolog;
 {  {
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__)
         char *av[BUFSIZ];          char *av[BUFSIZ];
         char sock_id[BUFSIZ],ox_intr[BUFSIZ],ox_reset[BUFSIZ],ox_kill[BUFSIZ];          char sock_id[BUFSIZ],ox_intr[BUFSIZ],ox_reset[BUFSIZ],ox_kill[BUFSIZ];
         char AsirExe[BUFSIZ];          char AsirExe[BUFSIZ];
Line 274  char *nolog;
Line 275  char *nolog;
         DuplicateHandle(GetCurrentProcess(),(HANDLE)bs,          DuplicateHandle(GetCurrentProcess(),(HANDLE)bs,
                                         GetCurrentProcess(),(HANDLE *)&newbs,                                          GetCurrentProcess(),(HANDLE *)&newbs,
                                         0,TRUE,DUPLICATE_SAME_ACCESS);                                          0,TRUE,DUPLICATE_SAME_ACCESS);
         close(bs);          closesocket(bs);
         bs = newbs;          bs = newbs;
   
         mypid = GetCurrentProcessId();          mypid = GetCurrentProcessId();
Line 299  char *nolog;
Line 300  char *nolog;
                 Pget_rootdir(&rootdir);                  Pget_rootdir(&rootdir);
                 sprintf(AsirExe,"%s\\bin\\engine.exe",BDY(rootdir));                  sprintf(AsirExe,"%s\\bin\\engine.exe",BDY(rootdir));
         }          }
   #if _MSC_VER < 1400
         _fileinfo = 1;          _fileinfo = 1;
   #endif
         hProc = _spawnv(_P_NOWAIT,AsirExe,av);          hProc = _spawnv(_P_NOWAIT,AsirExe,av);
         return (int)hProc;          return (int)hProc;
 #else /* VISUAL */  #else /* VISUAL */
Line 336  char *nolog;
Line 339  char *nolog;
 #endif  #endif
                 }                  }
                 if ( !nolog && !strcmp(dname,"1" ) ) /* XXX: for ssh */                  if ( !nolog && !strcmp(dname,"1" ) ) /* XXX: for ssh */
                         execl(prog,prog,0);                          execl(prog,prog,(char *)0);
                 else if ( nolog || !strcmp(dname,"0") ) {                  else if ( nolog || !strcmp(dname,"0") ) {
                         FILE *null;                          FILE *null;
   
Line 346  char *nolog;
Line 349  char *nolog;
                         if ( !strcmp(dname,"1") ) {                          if ( !strcmp(dname,"1") ) {
                                 /* XXX */                                  /* XXX */
                                 putenv("DISPLAY=");                                  putenv("DISPLAY=");
                                 execl(prog,prog,0);                                  execl(prog,prog,(char *)0);
                         } else if ( strcmp(dname,"0") )                          } else if ( strcmp(dname,"0") )
                                 execl(prog,prog,"-display",dname,0);                                  execl(prog,prog,"-display",dname,(char *)0);
                         else {                          else {
                                 putenv("DISPLAY=");                                  putenv("DISPLAY=");
                                 execl(prog,prog,0);                                  execl(prog,prog,(char *)0);
                         }                          }
                 } else                  } else
                         execl(prog,prog,"-display",dname,0);                          execl(prog,prog,"-display",dname,(char *)0);
                 /* On failure */                  /* On failure */
                 errcode = 2;                  errcode = 2;
                 write(4,&errcode,1);                  write(4,&errcode,1);

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.27

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