提交 c26c1c4b 编写于 作者: T ths

Support for unidirectional pipes, by Ed Swierk.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2267 c046a42c-6fe2-441c-8c8c-71466251a162
上级 c032e2a9
......@@ -1297,12 +1297,23 @@ CharDriverState *qemu_chr_open_file_out(const char *file_out)
CharDriverState *qemu_chr_open_pipe(const char *filename)
{
int fd;
fd = open(filename, O_RDWR | O_BINARY);
if (fd < 0)
return NULL;
return qemu_chr_open_fd(fd, fd);
int fd_in, fd_out;
char filename_in[256], filename_out[256];
snprintf(filename_in, 256, "%s.in", filename);
snprintf(filename_out, 256, "%s.out", filename);
fd_in = open(filename_in, O_RDWR | O_BINARY);
fd_out = open(filename_out, O_RDWR | O_BINARY);
if (fd_in < 0 || fd_out < 0) {
if (fd_in >= 0)
close(fd_in);
if (fd_out >= 0)
close(fd_out);
fd_in = fd_out = open(filename, O_RDWR | O_BINARY);
if (fd_in < 0)
return NULL;
}
return qemu_chr_open_fd(fd_in, fd_out);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册