[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 21/32] char: clean up remaining chardevs when leaving
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 21/32] char: clean up remaining chardevs when leaving |
Date: |
Tue, 28 Jun 2016 19:33:51 +0200 |
From: Marc-André Lureau <address@hidden>
This helps to remove various chardev resources leaks when leaving qemu.
Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
qemu-char.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index 84f49ac..016badb 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -4549,6 +4549,15 @@ void qmp_chardev_remove(const char *id, Error **errp)
qemu_chr_delete(chr);
}
+static void qemu_chr_cleanup(void)
+{
+ CharDriverState *chr;
+
+ QTAILQ_FOREACH(chr, &chardevs, next) {
+ qemu_chr_delete(chr);
+ }
+}
+
static void register_types(void)
{
register_char_driver("null", CHARDEV_BACKEND_KIND_NULL, NULL,
@@ -4595,6 +4604,8 @@ static void register_types(void)
* is specified
*/
qemu_add_machine_init_done_notifier(&muxes_realize_notify);
+
+ atexit(qemu_chr_cleanup);
}
type_init(register_types);
--
2.7.4
- [Qemu-devel] [PULL 11/32] ich9: clean up ich9_lpc_update_pic/ich9_lpc_update_apic and callers, (continued)
- [Qemu-devel] [PULL 11/32] ich9: clean up ich9_lpc_update_pic/ich9_lpc_update_apic and callers, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 12/32] ich9: unify pic and ioapic IRQ vectors, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 10/32] ich9: call ich9_lpc_update_pic for disabled pirqs, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 13/32] ICH9 LPC: handle GSI as qdev GPIO, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 14/32] ICH9 LPC: move call of isa_bus_irqs to 'realize' method, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 16/32] MC146818 RTC: add GPIO access to output IRQ, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 15/32] isa: introduce wrapper isa_connect_gpio_out, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 17/32] scsi: esp: fix migration, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 18/32] vnc: generalize "VNC server running on ..." message, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 19/32] pci-assign: Move "Invalid ROM" error message to pci-assign-load-rom.c, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 21/32] char: clean up remaining chardevs when leaving,
Paolo Bonzini <=
- [Qemu-devel] [PULL 22/32] socket: add listen feature, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 23/32] socket: unlink unix socket on remove, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 24/32] iscsi: fix assertion in is_sector_request_lun_aligned, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 26/32] serial: simplify tsr_retry reset, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 20/32] target-*: Don't redefine cpu_exec(), Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 25/32] serial: make tsr_retry unsigned, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 29/32] serial: remove watch on reset, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 27/32] serial: separate serial_xmit and serial_watch_cb, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 30/32] serial: reinstate watch after migration, Paolo Bonzini, 2016/06/28
- [Qemu-devel] [PULL 32/32] ich9: implement SCI_IRQ_SEL register, Paolo Bonzini, 2016/06/28