summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPaolo Bonzini2014-07-09 11:53:10 +0200
committerStefan Hajnoczi2014-08-29 11:46:58 +0200
commitb493317d344357f7ac56606246d09b5604e54ab6 (patch)
tree70d229bfc876df17b21218be917394dd384cdb8a /include
parentqemu-coroutine-io: fix for Win32 (diff)
downloadqemu-b493317d344357f7ac56606246d09b5604e54ab6.tar.gz
qemu-b493317d344357f7ac56606246d09b5604e54ab6.tar.xz
qemu-b493317d344357f7ac56606246d09b5604e54ab6.zip
aio-win32: add support for sockets
Uses the same select/WSAEventSelect scheme as main-loop.c. WSAEventSelect() is edge-triggered, so it cannot be used directly, but it is still used as a way to exit from a blocking g_poll(). Before g_poll() is called, we poll sockets with a non-blocking select() to achieve the level-triggered semantics we require: if a socket is ready, the g_poll() is made non-blocking too. Based on a patch from Or Goshen. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/block/aio.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/include/block/aio.h b/include/block/aio.h
index ef4197b861..4603c0f066 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -239,7 +239,6 @@ bool aio_dispatch(AioContext *ctx);
*/
bool aio_poll(AioContext *ctx, bool blocking);
-#ifdef CONFIG_POSIX
/* Register a file descriptor and associated callbacks. Behaves very similarly
* to qemu_set_fd_handler2. Unlike qemu_set_fd_handler2, these callbacks will
* be invoked when using aio_poll().
@@ -252,7 +251,6 @@ void aio_set_fd_handler(AioContext *ctx,
IOHandler *io_read,
IOHandler *io_write,
void *opaque);
-#endif
/* Register an event notifier and associated callbacks. Behaves very similarly
* to event_notifier_set_handler. Unlike event_notifier_set_handler, these callbacks