[BACK]Return to ox_pathfinder.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / util

Diff for /OpenXM/src/util/ox_pathfinder.c between version 1.15 and 1.16

version 1.15, 2003/12/04 05:27:19 version 1.16, 2003/12/04 06:29:21
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/util/ox_pathfinder.c,v 1.14 2003/12/04 03:17:33 takayama Exp $ */  /* $OpenXM: OpenXM/src/util/ox_pathfinder.c,v 1.15 2003/12/04 05:27:19 takayama Exp $ */
 /* Moved from misc-2003/07/cygwin/test.c */  /* Moved from misc-2003/07/cygwin/test.c */
   
 #include <stdio.h>  #include <stdio.h>
Line 141  int oxForkExec(char **argv) {
Line 141  int oxForkExec(char **argv) {
     fprintf(stderr,"Cannot fork and exec.\n"); return -1;      fprintf(stderr,"Cannot fork and exec.\n"); return -1;
   }    }
   if ((pid = fork()) > 0) {    if ((pid = fork()) > 0) {
         oxResetRedirect();      oxResetRedirect();
     if (m&2) {      if (m&2) {
       /* Do not call singal to turn around a trouble on cygwin. BUG. */        /* Do not call singal to turn around a trouble on cygwin. BUG. */
     }else{      }else{
Line 186  int oxForkExecBlocked(char **argv) {
Line 186  int oxForkExecBlocked(char **argv) {
     fprintf(stderr,"Cannot fork and exec.\n"); return -1;      fprintf(stderr,"Cannot fork and exec.\n"); return -1;
   }    }
   if ((pid = fork()) > 0) {    if ((pid = fork()) > 0) {
         oxResetRedirect();      oxResetRedirect();
     Myforkchildren[Myforkcp++] = pid;      Myforkchildren[Myforkcp++] = pid;
     if (Myforkcp >= MYFORKCP_SIZE-1) {      if (Myforkcp >= MYFORKCP_SIZE-1) {
       fprintf(stderr,"Child process table is full.\n");        fprintf(stderr,"Child process table is full.\n");
Line 195  int oxForkExecBlocked(char **argv) {
Line 195  int oxForkExecBlocked(char **argv) {
     if (waitpid(pid,&status,0) < 0) {  /* blocked */      if (waitpid(pid,&status,0) < 0) {  /* blocked */
       perror("waitpid");        perror("waitpid");
     }      }
       Myforkcp--;
     return status;      return status;
   }else{    }else{
     /* close the specified files */      /* close the specified files */
Line 1098  int oxDeleteFile(char *fname) {
Line 1099  int oxDeleteFile(char *fname) {
   }else{    }else{
     return(-1);      return(-1);
   }    }
   }
   
   /* This function just kills processes, so if there is a process which
      uses ox protocol, it is not relevant to use this functions.
   */
   int oxKillAll(void) {
     int i;
     int pid;
     int status;
     for (i=0; i<Myforkcp; i++) {
       pid = Myforkchildren[i];
       signal(SIGKILL,myforkwait);
     }
     Myforkcp = 0;
     return(0);
 }  }

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

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