version 1.16, 2003/12/04 06:29:21 |
version 1.19, 2004/02/28 13:39:42 |
|
|
/* $OpenXM: OpenXM/src/util/ox_pathfinder.c,v 1.15 2003/12/04 05:27:19 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/util/ox_pathfinder.c,v 1.18 2004/02/28 12:27:15 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 35 static void msgPathFinder(char *s); |
|
Line 35 static void msgPathFinder(char *s); |
|
|
|
|
|
static int Verbose_get_home = 0; |
static int Verbose_get_home = 0; |
|
static int Verbose = 1; |
static int NoX = 0; |
static int NoX = 0; |
|
|
|
|
Line 62 int ox_pathfinderVerbose(int f) { |
|
Line 63 int ox_pathfinderVerbose(int f) { |
|
if (f < 0) return Verbose_get_home; |
if (f < 0) return Verbose_get_home; |
Verbose_get_home = f; |
Verbose_get_home = f; |
return f; |
return f; |
} |
} /* cf. ox_pathfinder_quiet() */ |
|
|
/* test main */ |
/* test main */ |
/* |
/* |
Line 117 static void myforkwait() { |
|
Line 118 static void myforkwait() { |
|
int i,j; |
int i,j; |
/* signal(SIGCHLD,SIG_IGN); It is not allowed in posix */ |
/* signal(SIGCHLD,SIG_IGN); It is not allowed in posix */ |
pid = wait(&status); |
pid = wait(&status); |
fprintf(stderr,"Child process %d is exiting.\n",pid); |
if (Verbose) fprintf(stderr,"Child process %d is exiting.\n",pid); |
if (pid < 0) { |
if (pid < 0) { |
perror("wait"); |
perror("wait"); |
} |
} |
Line 1110 int oxKillAll(void) { |
|
Line 1111 int oxKillAll(void) { |
|
int status; |
int status; |
for (i=0; i<Myforkcp; i++) { |
for (i=0; i<Myforkcp; i++) { |
pid = Myforkchildren[i]; |
pid = Myforkchildren[i]; |
signal(SIGKILL,myforkwait); |
if (Verbose) fprintf(stderr,"Sending signal to %d ... ",pid); |
|
kill(pid,SIGKILL); |
|
waitpid(pid,&status,0); |
|
if (Verbose) fprintf(stderr,"Gone.\n"); |
} |
} |
Myforkcp = 0; |
Myforkcp = 0; |
return(0); |
return(0); |
|
} |
|
|
|
void ox_pathfinder_quiet(void) { |
|
Verbose_get_home = 0; |
|
Verbose = 0; |
} |
} |