[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] add close callback for tty-based char device
From: |
David S. Ahern |
Subject: |
[Qemu-devel] Re: [PATCH] add close callback for tty-based char device |
Date: |
Tue, 09 Feb 2010 07:10:20 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.7) Gecko/20100120 Fedora/3.0.1-1.fc11 Thunderbird/3.0.1 |
I have not seen response to this. If there are no objections please apply.
Thanks,
David Ahern
On 02/03/2010 09:18 AM, David S. Ahern wrote:
> Add a tty close callback. Right now if a guest device that is connected
> to a tty-based chardev in the host is removed, the tty is not closed.
> With this patch it is closed.
>
> Example use case is connecting an emulated USB serial cable in the guest
> to tty0 of the host using the monitor command:
>
> usb_add serial::/dev/tty0
>
> and then removing the device with:
>
> usb_del serial::/dev/tty0
>
> Signed-off-by: David Ahern <address@hidden>
>
> diff --git a/qemu-char.c b/qemu-char.c
> index 800ee6c..ecd84ec 100644
> --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -1173,6 +1173,20 @@ static int tty_serial_ioctl(CharDriverState *chr,
> int cmd
> return 0;
> }
>
> +static void qemu_chr_close_tty(CharDriverState *chr)
> +{
> + FDCharDriver *s = chr->opaque;
> + int fd = -1;
> +
> + if (s)
> + fd = s->fd_in;
> +
> + fd_chr_close(chr);
> +
> + if (fd >= 0)
> + close(fd);
> +}
> +
> static CharDriverState *qemu_chr_open_tty(QemuOpts *opts)
> {
> const char *filename = qemu_opt_get(opts, "path");
> @@ -1187,6 +1201,7 @@ static CharDriverState *qemu_chr_open_tty(QemuOpts
> *opts)
> return NULL;
> }
> chr->chr_ioctl = tty_serial_ioctl;
> + chr->chr_close = qemu_chr_close_tty;
> return chr;
> }
> #else /* ! __linux__ && ! __sun__ */
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to address@hidden
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>