Commit 6b54308f by Serge Hallyn Committed by Stéphane Graber

only re-open fds if stdin is a tty

parent 2263cbbf
...@@ -278,20 +278,22 @@ int main(int argc, char *argv[]) ...@@ -278,20 +278,22 @@ int main(int argc, char *argv[])
memset(ttyname0, '\0', sizeof(ttyname0)); memset(ttyname0, '\0', sizeof(ttyname0));
memset(ttyname1, '\0', sizeof(ttyname1)); memset(ttyname1, '\0', sizeof(ttyname1));
memset(ttyname2, '\0', sizeof(ttyname2)); memset(ttyname2, '\0', sizeof(ttyname2));
ret = readlink("/proc/self/fd/0", ttyname0, sizeof(ttyname0)); if (isatty(0)) {
if (ret < 0) { ret = readlink("/proc/self/fd/0", ttyname0, sizeof(ttyname0));
perror("unable to open stdin."); if (ret < 0) {
exit(1); perror("unable to open stdin.");
} exit(1);
ret = readlink("/proc/self/fd/1", ttyname1, sizeof(ttyname1)); }
if (ret < 0) { ret = readlink("/proc/self/fd/1", ttyname1, sizeof(ttyname1));
printf("Warning: unable to open stdout, continuing."); if (ret < 0) {
memset(ttyname1, '\0', sizeof(ttyname1)); printf("Warning: unable to open stdout, continuing.");
} memset(ttyname1, '\0', sizeof(ttyname1));
ret = readlink("/proc/self/fd/2", ttyname2, sizeof(ttyname2)); }
if (ret < 0) { ret = readlink("/proc/self/fd/2", ttyname2, sizeof(ttyname2));
printf("Warning: unable to open stderr, continueing."); if (ret < 0) {
memset(ttyname2, '\0', sizeof(ttyname2)); printf("Warning: unable to open stderr, continueing.");
memset(ttyname2, '\0', sizeof(ttyname2));
}
} }
lxc_list_init(&active_map); lxc_list_init(&active_map);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment