]> git.proxmox.com Git - mirror_qemu.git/commitdiff
io: pass HANDLE to g_source_add_poll on Win32
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 7 Mar 2016 10:13:06 +0000 (11:13 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 10 Mar 2016 17:10:19 +0000 (17:10 +0000)
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
io/channel-watch.c

index 931fa4d49d7605ed294831c8b62c2c753680a236..537360527ac60338093e11e759cf19784fd2e9b7 100644 (file)
@@ -160,7 +160,11 @@ GSource *qio_channel_create_fd_watch(QIOChannel *ioc,
 
     ssource->condition = condition;
 
+#ifdef CONFIG_WIN32
+    ssource->fd.fd = (gint64)_get_osfhandle(fd);
+#else
     ssource->fd.fd = fd;
+#endif
     ssource->fd.events = condition;
 
     g_source_add_poll(source, &ssource->fd);
@@ -186,10 +190,15 @@ GSource *qio_channel_create_fd_pair_watch(QIOChannel *ioc,
 
     ssource->condition = condition;
 
+#ifdef CONFIG_WIN32
+    ssource->fdread.fd = (gint64)_get_osfhandle(fdread);
+    ssource->fdwrite.fd = (gint64)_get_osfhandle(fdwrite);
+#else
     ssource->fdread.fd = fdread;
-    ssource->fdread.events = condition & G_IO_IN;
-
     ssource->fdwrite.fd = fdwrite;
+#endif
+
+    ssource->fdread.events = condition & G_IO_IN;
     ssource->fdwrite.events = condition & G_IO_OUT;
 
     g_source_add_poll(source, &ssource->fdread);