[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/6] chardev: unref if underlying chardev has no pare
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PULL 3/6] chardev: unref if underlying chardev has no parent |
Date: |
Wed, 3 Oct 2018 14:57:52 +0400 |
It's possible to write code creating a chardev backend that is not
registered. When it is not user-created, it makes sense to keep it
hidden. Let the associated frontend destroy it also in this case.
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
---
chardev/char-fe.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/chardev/char-fe.c b/chardev/char-fe.c
index f158f158f8..a8931f7afd 100644
--- a/chardev/char-fe.c
+++ b/chardev/char-fe.c
@@ -235,7 +235,12 @@ void qemu_chr_fe_deinit(CharBackend *b, bool del)
d->backends[b->tag] = NULL;
}
if (del) {
- object_unparent(OBJECT(b->chr));
+ Object *obj = OBJECT(b->chr);
+ if (obj->parent) {
+ object_unparent(obj);
+ } else {
+ object_unref(obj);
+ }
}
b->chr = NULL;
}
--
2.19.0.271.gfe8321ec05
- [Qemu-devel] [PULL 0/6] Chardev patches, Marc-André Lureau, 2018/10/03
- [Qemu-devel] [PULL 3/6] chardev: unref if underlying chardev has no parent,
Marc-André Lureau <=
- [Qemu-devel] [PULL 4/6] char.h: fix gtk-doc comment style, Marc-André Lureau, 2018/10/03
- [Qemu-devel] [PULL 1/6] chardev: avoid crash if no associated address, Marc-André Lureau, 2018/10/03
- [Qemu-devel] [PULL 2/6] chardev: remove qemu_chr_fe_read_all() counter, Marc-André Lureau, 2018/10/03
- [Qemu-devel] [PULL 5/6] chardev: mark the calls that allow an implicit mux monitor, Marc-André Lureau, 2018/10/03
- [Qemu-devel] [PULL 6/6] chardev: use a child source for qio input source, Marc-André Lureau, 2018/10/03
- Re: [Qemu-devel] [PULL 0/6] Chardev patches, Peter Maydell, 2018/10/05