aboutsummaryrefslogtreecommitdiff
path: root/io/channel-watch.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2016-03-07 11:13:06 +0100
committerDaniel P. Berrange <berrange@redhat.com>2016-03-10 17:10:19 +0000
commite560d141ab0504495142486c21769df1ec346479 (patch)
treee4345dc753008d5fe1f7cec0f9dc7836970b4d29 /io/channel-watch.c
parent5151d23e65e1ffc50c880d9fdcfd70bfa33255c5 (diff)
io: pass HANDLE to g_source_add_poll on Win32
Reviewed-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'io/channel-watch.c')
-rw-r--r--io/channel-watch.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/io/channel-watch.c b/io/channel-watch.c
index 931fa4d49d..537360527a 100644
--- a/io/channel-watch.c
+++ b/io/channel-watch.c
@@ -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);