| version 1.5, 2001/12/04 17:17:52 |
version 1.6, 2001/12/04 21:16:21 |
|
|
| /* |
/* |
| * $Log$ |
* $Log$ |
| |
* Revision 1.6 2001/12/04 21:16:21 jombik9 |
| |
* Some changes -- try to make support for stream oriented applications. |
| |
* |
| * Revision 1.5 2001/12/04 17:17:52 jombik9 |
* Revision 1.5 2001/12/04 17:17:52 jombik9 |
| * n_link sychronizations |
* n_link sychronizations |
| * |
* |
|
|
| * |
* |
| * Revision 1.2 2001/09/21 19:44:51 host8 |
* Revision 1.2 2001/09/21 19:44:51 host8 |
| * Added $Log$ |
* Added $Log$ |
| |
* Added Revision 1.6 2001/12/04 21:16:21 jombik9 |
| |
* Added Some changes -- try to make support for stream oriented applications. |
| |
* Added |
| * Added Revision 1.5 2001/12/04 17:17:52 jombik9 |
* Added Revision 1.5 2001/12/04 17:17:52 jombik9 |
| * Added n_link sychronizations |
* Added n_link sychronizations |
| * Added |
* Added |
| Line 414 proctable_exec(ptbl) |
|
| Line 420 proctable_exec(ptbl) |
|
| for (k = 0; k < N_FD; k++) |
for (k = 0; k < N_FD; k++) |
| /* XXX: We want to dup pipe anyway. */ |
/* XXX: We want to dup pipe anyway. */ |
| if (1 || ptbl[i]->fd[k].n_link != 0) { |
if (1 || ptbl[i]->fd[k].n_link != 0) { |
| |
#if 0 |
| close(k); |
close(k); |
| dup(ptbl[i]->fd[k].pipe[k ? 1 : 0]); |
dup(ptbl[i]->fd[k].pipe[k ? 1 : 0]); |
| |
#else |
| |
dup2(ptbl[i]->fd[k].pipe[k ? 1 : 0], k); |
| |
#endif |
| /* See the '1 ||' below. |
/* See the '1 ||' below. |
| close(ptbl[i]->fd[k].pipe[0]); |
close(ptbl[i]->fd[k].pipe[0]); |
| close(ptbl[i]->fd[k].pipe[1]); |
close(ptbl[i]->fd[k].pipe[1]); |
| Line 440 proctable_exec(ptbl) |
|
| Line 450 proctable_exec(ptbl) |
|
| if (ptbl[i]->fd[k].n_link == 0) |
if (ptbl[i]->fd[k].n_link == 0) |
| close(k); |
close(k); |
| */ |
*/ |
| |
/* setvbuf(stdout, NULL, _IONBF, 0); */ |
| |
/* setbuf(stdout, NULL); */ |
| execvp(ptbl[i]->argv[0], ptbl[i]->argv); |
execvp(ptbl[i]->argv[0], ptbl[i]->argv); |
| /* |
/* |
| * RETURN VALUES |
* RETURN VALUES |