Karton::~Karton()
{
// Children run after this body. Deregister and free domains while the connection is open,
// or virConnectDomainEventDeregisterAny deadlocks on the libvirt lock (bug 56270).
delete m_monitor;
m_monitor = nullptr;
cleanupDomainViewer();
while (!m_domains.isEmpty())
delete m_domains.takeLast();
if (m_conn) {
virConnectClose(m_conn);
m_conn = nullptr;
}
Karton *Karton::self()