From: Kevin Wolf <kwolf@suse.de>
To: qemu-devel@nongnu.org
Cc: xen-devel@lists.xensource.com,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 2/2] open ptys in non-blocking mode.
Date: Fri, 18 Jul 2008 10:41:48 +0200 [thread overview]
Message-ID: <4880574C.1020703@suse.de> (raw)
In-Reply-To: <1215605958-22623-2-git-send-email-kraxel@redhat.com>
[Crossposting to xen-devel]
Ian, we need something like this for qemu-xen (or ioemu-remote or
whatever it's called now). Currently you must attach to the console of a
domain, otherwise it won't boot up and keep hanging in a blocking write
because the buffer is full.
The old ioemu had a hack in unix_write (doing a select before the write)
which you didn't merge into qemu-xen. In fact, I noticed that you even
removed that function entirely and I'm wondering why.
Kevin
Gerd Hoffmann schrieb:
> Otherwise qemu will hang in case nobody connects to the pty and the
> guests prints enougth messages to fill up the buffer (which is 4k
> in linux).
>
> Downside is that data may get lost in case the reader is too slow.
>
> Ideally we could detect whenever someone is connected to the other end
> of the pseudo tty and write data only in connected mode (like it is done
> for tcp/telnet). I'm not aware of any way to accomplish that though.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> vl.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 587b91c..adc8f5f 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2468,6 +2468,7 @@ static CharDriverState *qemu_chr_open_pty(void)
> /* Set raw attributes on the pty. */
> cfmakeraw(&tty);
> tcsetattr(slave_fd, TCSAFLUSH, &tty);
> + socket_set_nonblock(master_fd);
>
> fprintf(stderr, "char device redirected to %s\n", ptsname(master_fd));
> return qemu_chr_open_fd(master_fd, master_fd);
next prev parent reply other threads:[~2008-07-18 8:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-09 12:19 [Qemu-devel] [PATCH 1/2] unix_write: don't block on non-blocking file handles Gerd Hoffmann
2008-07-09 12:19 ` [Qemu-devel] [PATCH 2/2] open ptys in non-blocking mode Gerd Hoffmann
2008-07-18 8:41 ` Kevin Wolf [this message]
2008-07-18 9:10 ` Gerd Hoffmann
2008-07-18 9:10 ` Gerd Hoffmann
2008-07-18 9:14 ` Kevin Wolf
2008-07-18 13:56 ` Ian Jackson
2008-07-18 13:47 ` Ian Jackson
2008-07-18 13:46 ` [Qemu-devel] [PATCH 1/2] unix_write: don't block on non-blocking file handles Ian Jackson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4880574C.1020703@suse.de \
--to=kwolf@suse.de \
--cc=Ian.Jackson@eu.citrix.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.