diff --git a/qemu-char.c b/qemu-char.c index 1b7d5dac76..00caf659c2 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -1171,7 +1171,6 @@ typedef struct { int connected; guint timer_tag; guint open_tag; - int slave_fd; } PtyCharDriver; static void pty_chr_update_read_handler_locked(CharDriverState *chr); @@ -1348,7 +1347,6 @@ static void pty_chr_close(struct CharDriverState *chr) qemu_mutex_lock(&chr->chr_write_lock); pty_chr_state(chr, 0); - close(s->slave_fd); object_unref(OBJECT(s->ioc)); if (s->timer_tag) { g_source_remove(s->timer_tag); @@ -1376,6 +1374,7 @@ static CharDriverState *qemu_chr_open_pty(const char *id, return NULL; } + close(slave_fd); qemu_set_nonblock(master_fd); chr = qemu_chr_alloc(common, errp); @@ -1400,7 +1399,6 @@ static CharDriverState *qemu_chr_open_pty(const char *id, chr->explicit_be_open = true; s->ioc = QIO_CHANNEL(qio_channel_file_new_fd(master_fd)); - s->slave_fd = slave_fd; s->timer_tag = 0; return chr;