On 10/22/2012 12:28 PM, Stefan Weil wrote:
Am 22.10.2012 15:53, schrieb Corey Bryant:
Signed-off-by: Corey Bryant<cor...@linux.vnet.ibm.com>
---
vl.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/vl.c b/vl.c
index 200d849..94c667d 100644
--- a/vl.c
+++ b/vl.c
@@ -812,11 +812,13 @@ static int parse_add_fd(QemuOpts *opts, void
*opaque)
return -1;
}
+#ifndef _WIN32
if (fcntl(fd, F_GETFD)& FD_CLOEXEC) {
qerror_report(ERROR_CLASS_GENERIC_ERROR,
"fd is not valid or already in use");
return -1;
}
+#endif
if (fdset_id< 0) {
qerror_report(ERROR_CLASS_GENERIC_ERROR,
Are you sure that all other hosts provide F_GETFD and FD_CLOEXEC
and that MinGW will never do that?
I don't know for sure but use of F_GETFD and FD_CLOEXEC broke the build
for MinGW.
Maybe testing those two macros instead of _WIN32 would be better:
#if defined(F_GETFD) && defined(FD_CLOEXEC)
...
#endif
I also think that this patch should be merged with the one which adds
that code and not applied as a separate patch (otherwise git bisect would
be broken).
Kevin ended up providing a fix for this in "[PATCH v5] qemu-config: Add
new -add-fd command line option" which fails the -add-fd command for
Windows. This is in-line with how the QMP add-fd command behaves.
--
Regards,
Corey Bryant