=================================================================== RCS file: /home/cvs/OpenXM/src/oxc/oxc.c,v retrieving revision 1.6 retrieving revision 1.9 diff -u -p -r1.6 -r1.9 --- OpenXM/src/oxc/oxc.c 2000/12/03 14:32:40 1.6 +++ OpenXM/src/oxc/oxc.c 2000/12/15 03:34:43 1.9 @@ -1,5 +1,5 @@ /* -*- mode: C -*- */ -/* $OpenXM: OpenXM/src/oxc/oxc.c,v 1.5 2000/12/01 07:34:48 ohara Exp $ */ +/* $OpenXM: OpenXM/src/oxc/oxc.c,v 1.8 2000/12/14 03:14:01 ohara Exp $ */ #include #include @@ -25,13 +25,12 @@ int oxf_connect_dup(char *remote, short port) int lf_oxc_open_main(char *cmd, short port) { - int pid = 0; - if (cmd != NULL && (pid = fork()) == 0) { + pid_t pid; + if ((pid = fork()) == 0) { oxf_connect_dup(remote_host, port); fprintf(stderr, "oxc: oxc_open(%s, %d)\n", cmd, port); execlp(cmd, cmd, NULL); } - fprintf(stderr, "oxc: cannnot oxc_open(%s, %d).\n", cmd, port); return pid; /* if error, pid == 0 */ } @@ -79,8 +78,10 @@ int main(int argc, char *argv[]) char *myname = argv[0]; int oxlog = 0; int c; + int delay = 0; + char *delay_s = "0"; - while ((c = getopt(argc, argv, "c:p:h:x")) != -1) { + while ((c = getopt(argc, argv, "d:c:p:h:x")) != -1) { switch(c) { case 'h': remote_host = optarg; @@ -98,6 +99,10 @@ int main(int argc, char *argv[]) oxlog = 1; } break; + case 'd': + delay_s = optarg; + delay = atoi(optarg); + break; default: } } @@ -110,11 +115,12 @@ int main(int argc, char *argv[]) sprintf(port_s, "%d", port); } if (oxlog) { - execlp(xterm, xterm, "-e", myname, - "-h", remote_host, "-p", port_s, "-c", password); + execlp(xterm, xterm, "-e", myname, "-d", delay_s, + "-h", remote_host, "-p", port_s, "-c", password, NULL); } fprintf(stderr, "start connection!\n"); + usleep(delay); if ((oxfp = connection()) == NULL) { fprintf(stderr, "oxc: cannot connect.\n"); }else {