diff options
author | Michael R. Hines <mrhines@us.ibm.com> | 2013-06-25 21:35:29 -0400 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2013-06-27 02:38:36 +0200 |
commit | 9f05d0c3a4f9e8fcb13ed09cc350af45a627809a (patch) | |
tree | 285c6a7eca160d837dde3d8be7e572cac2b3fd31 /savevm.c | |
parent | 2b0ce0797d6bfb13ebefe010da86abced0b7a9b3 (diff) | |
download | qemu-9f05d0c3a4f9e8fcb13ed09cc350af45a627809a.zip qemu-9f05d0c3a4f9e8fcb13ed09cc350af45a627809a.tar.gz qemu-9f05d0c3a4f9e8fcb13ed09cc350af45a627809a.tar.bz2 |
rdma: export yield_until_fd_readable()
The RDMA event channel can be made non-blocking just like a TCP
socket. Exporting this function allows us to yield so that the
QEMU monitor remains available.
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Chegu Vinod <chegu_vinod@hp.com>
Tested-by: Chegu Vinod <chegu_vinod@hp.com>
Tested-by: Michael R. Hines <mrhines@us.ibm.com>
Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'savevm.c')
-rw-r--r-- | savevm.c | 28 |
1 files changed, 0 insertions, 28 deletions
@@ -149,34 +149,6 @@ typedef struct QEMUFileSocket QEMUFile *file; } QEMUFileSocket; -typedef struct { - Coroutine *co; - int fd; -} FDYieldUntilData; - -static void fd_coroutine_enter(void *opaque) -{ - FDYieldUntilData *data = opaque; - qemu_set_fd_handler(data->fd, NULL, NULL, NULL); - qemu_coroutine_enter(data->co, NULL); -} - -/** - * Yield until a file descriptor becomes readable - * - * Note that this function clobbers the handlers for the file descriptor. - */ -static void coroutine_fn yield_until_fd_readable(int fd) -{ - FDYieldUntilData data; - - assert(qemu_in_coroutine()); - data.co = qemu_coroutine_self(); - data.fd = fd; - qemu_set_fd_handler(fd, fd_coroutine_enter, NULL, &data); - qemu_coroutine_yield(); -} - static ssize_t socket_writev_buffer(void *opaque, struct iovec *iov, int iovcnt, int64_t pos) { |