|
@@ -181,6 +181,9 @@ static void pty_chr_state(Chardev *chr, int connected)
|
|
|
|
|
|
if (!connected) {
|
|
if (!connected) {
|
|
remove_fd_in_watch(chr);
|
|
remove_fd_in_watch(chr);
|
|
|
|
+ if (s->connected) {
|
|
|
|
+ qemu_chr_be_event(chr, CHR_EVENT_CLOSED);
|
|
|
|
+ }
|
|
s->connected = 0;
|
|
s->connected = 0;
|
|
/* (re-)connect poll interval for idle guests: once per second.
|
|
/* (re-)connect poll interval for idle guests: once per second.
|
|
* We check more frequently in case the guests sends data to
|
|
* We check more frequently in case the guests sends data to
|
|
@@ -215,7 +218,6 @@ static void char_pty_finalize(Object *obj)
|
|
pty_chr_state(chr, 0);
|
|
pty_chr_state(chr, 0);
|
|
object_unref(OBJECT(s->ioc));
|
|
object_unref(OBJECT(s->ioc));
|
|
pty_chr_timer_cancel(s);
|
|
pty_chr_timer_cancel(s);
|
|
- qemu_chr_be_event(chr, CHR_EVENT_CLOSED);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
#if defined HAVE_PTY_H
|
|
#if defined HAVE_PTY_H
|