version 1.46, 2004/05/19 12:17:33 |
version 1.47, 2004/05/26 08:59:57 |
|
|
if ((dup2(c_in, STDIN_FILENO) == -1) || |
if ((dup2(c_in, STDIN_FILENO) == -1) || |
(dup2(c_out, STDOUT_FILENO) == -1)) { |
(dup2(c_out, STDOUT_FILENO) == -1)) { |
fprintf(stderr, "dup2: %s\n", strerror(errno)); |
fprintf(stderr, "dup2: %s\n", strerror(errno)); |
exit(1); |
_exit(1); |
} |
} |
close(*in); |
close(*in); |
close(*out); |
close(*out); |
|
|
signal(SIGINT, SIG_IGN); |
signal(SIGINT, SIG_IGN); |
execv(path, args); |
execv(path, args); |
fprintf(stderr, "exec: %s: %s\n", path, strerror(errno)); |
fprintf(stderr, "exec: %s: %s\n", path, strerror(errno)); |
exit(1); |
_exit(1); |
} |
} |
|
|
signal(SIGTERM, killchild); |
signal(SIGTERM, killchild); |