diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-03-07 12:12:36 +0100 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2016-03-10 17:19:07 +0000 |
commit | a58972056776e2f2588aed5a2dc0db7cc28f80b1 (patch) | |
tree | c0dd41eda6b2fb73dd1b477b17723c695aa0a6a1 /include/io/channel.h | |
parent | 30fd3e27907dfd1c0c66cc1339657af1a2ce1d4b (diff) | |
download | qemu-a58972056776e2f2588aed5a2dc0db7cc28f80b1.zip qemu-a58972056776e2f2588aed5a2dc0db7cc28f80b1.tar.gz qemu-a58972056776e2f2588aed5a2dc0db7cc28f80b1.tar.bz2 |
io: implement socket watch for win32 using WSAEventSelect+select
On Win32 we cannot directly poll on socket handles. Instead we
create a Win32 event object and associate the socket handle with
the event. When the event signals readyness we then have to
use select to determine which events are ready. Creating Win32
events is moderately heavyweight, so we don't want todo it
every time we create a GSource, so this associates a single
event with a QIOChannel.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'include/io/channel.h')
-rw-r--r-- | include/io/channel.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/io/channel.h b/include/io/channel.h index 0a1f1ce..d37acd2 100644 --- a/include/io/channel.h +++ b/include/io/channel.h @@ -78,6 +78,9 @@ typedef gboolean (*QIOChannelFunc)(QIOChannel *ioc, struct QIOChannel { Object parent; unsigned int features; /* bitmask of QIOChannelFeatures */ +#ifdef _WIN32 + HANDLE event; /* For use with GSource on Win32 */ +#endif }; /** |