提交 761d1ddf 编写于 作者: F Fam Zheng 提交者: Kevin Wolf

osdep: Introduce qemu_dup

And use it in qemu_dup_flags.
Signed-off-by: NFam Zheng <famz@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Reviewed-by: NJohn Snow <jsnow@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 6aae5be6
......@@ -278,6 +278,9 @@ int qemu_madvise(void *addr, size_t len, int advice);
int qemu_open(const char *name, int flags, ...);
int qemu_close(int fd);
#ifndef _WIN32
int qemu_dup(int fd);
#endif
#if defined(__HAIKU__) && defined(__i386__)
#define FMT_pid "%ld"
......
......@@ -83,14 +83,7 @@ static int qemu_dup_flags(int fd, int flags)
int serrno;
int dup_flags;
#ifdef F_DUPFD_CLOEXEC
ret = fcntl(fd, F_DUPFD_CLOEXEC, 0);
#else
ret = dup(fd);
if (ret != -1) {
qemu_set_cloexec(ret);
}
#endif
ret = qemu_dup(fd);
if (ret == -1) {
goto fail;
}
......@@ -129,6 +122,20 @@ fail:
return -1;
}
int qemu_dup(int fd)
{
int ret;
#ifdef F_DUPFD_CLOEXEC
ret = fcntl(fd, F_DUPFD_CLOEXEC, 0);
#else
ret = dup(fd);
if (ret != -1) {
qemu_set_cloexec(ret);
}
#endif
return ret;
}
static int qemu_parse_fdset(const char *param)
{
return qemu_parse_fd(param);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册