qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v1 13/21] char: ensure listener socket is in blockin


From: Daniel P. Berrange
Subject: [Qemu-devel] [PATCH v1 13/21] char: ensure listener socket is in blocking mode when waiting
Date: Wed, 9 Mar 2016 17:28:16 +0000

When the network chardev is configured with 'server' and 'wait'
options, QEMU must block startup until the first client connects
to the server. This implies that the listener socket must be in
blocking mode. Unfortnantely on Win32 the socket is initially
in non-blocking mode, so we're not waiting for the first client.

Signed-off-by: Daniel P. Berrange <address@hidden>
---
 qemu-char.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/qemu-char.c b/qemu-char.c
index e0147f3..18890f7 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -4376,6 +4376,7 @@ static CharDriverState *qmp_chardev_open_socket(const 
char *id,
     if (is_listen && is_waitconnect) {
         fprintf(stderr, "QEMU waiting for connection on: %s\n",
                 chr->filename);
+        qio_channel_set_blocking(QIO_CHANNEL(s->listen_ioc), true, NULL);
         tcp_chr_accept(QIO_CHANNEL(s->listen_ioc), G_IO_IN, chr);
         qio_channel_set_blocking(QIO_CHANNEL(s->listen_ioc), false, NULL);
     }
-- 
2.5.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]