version 1.15, 2010/08/19 18:29:01 |
version 1.16, 2010/10/16 08:31:55 |
|
|
if (null_fd != STDOUT_FILENO && null_fd != STDERR_FILENO) |
if (null_fd != STDOUT_FILENO && null_fd != STDERR_FILENO) |
close(null_fd); |
close(null_fd); |
|
|
|
closefrom(STDERR_FILENO + 1); |
|
|
command = status_replace(c, NULL, data->arg, time(NULL), 0); |
command = status_replace(c, NULL, data->arg, time(NULL), 0); |
execl(_PATH_BSHELL, "sh", "-c", command, (char *) NULL); |
execl(_PATH_BSHELL, "sh", "-c", command, (char *) NULL); |
_exit(1); |
_exit(1); |
|
|
if ((mode = fcntl(wp->pipe_fd, F_GETFL)) == -1) |
if ((mode = fcntl(wp->pipe_fd, F_GETFL)) == -1) |
fatal("fcntl failed"); |
fatal("fcntl failed"); |
if (fcntl(wp->pipe_fd, F_SETFL, mode|O_NONBLOCK) == -1) |
if (fcntl(wp->pipe_fd, F_SETFL, mode|O_NONBLOCK) == -1) |
fatal("fcntl failed"); |
|
if (fcntl(wp->pipe_fd, F_SETFD, FD_CLOEXEC) == -1) |
|
fatal("fcntl failed"); |
fatal("fcntl failed"); |
return (0); |
return (0); |
} |
} |