qemu-char: add chr_add_watch support in mux chardev
Forward chr_add_watch call from mux chardev to underlying implementation. This should fix bug #1335444 Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
8b81bb3b06
commit
3f0838ab85
@ -581,6 +581,12 @@ static Notifier muxes_realize_notify = {
|
|||||||
.notify = muxes_realize_done,
|
.notify = muxes_realize_done,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GSource *mux_chr_add_watch(CharDriverState *s, GIOCondition cond)
|
||||||
|
{
|
||||||
|
MuxDriver *d = s->opaque;
|
||||||
|
return d->drv->chr_add_watch(d->drv, cond);
|
||||||
|
}
|
||||||
|
|
||||||
static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
||||||
{
|
{
|
||||||
CharDriverState *chr;
|
CharDriverState *chr;
|
||||||
@ -597,6 +603,9 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
|||||||
chr->chr_accept_input = mux_chr_accept_input;
|
chr->chr_accept_input = mux_chr_accept_input;
|
||||||
/* Frontend guest-open / -close notification is not support with muxes */
|
/* Frontend guest-open / -close notification is not support with muxes */
|
||||||
chr->chr_set_fe_open = NULL;
|
chr->chr_set_fe_open = NULL;
|
||||||
|
if (drv->chr_add_watch) {
|
||||||
|
chr->chr_add_watch = mux_chr_add_watch;
|
||||||
|
}
|
||||||
/* only default to opened state if we've realized the initial
|
/* only default to opened state if we've realized the initial
|
||||||
* set of muxes
|
* set of muxes
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user