mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: Return meaningful error when qemu dies early
https://bugzilla.redhat.com/show_bug.cgi?id=844378 When qemu dies early after connecting to its monitor but before we actually try to read something from the monitor, we would just fail domain start with useless message: "An error occurred, but the cause is unknown" This is because the real error gets reported in a monitor EOF handler executing within libvirt's event loop. The fix is to take any error set in qemuMonitor structure and propagate it into the thread-local error when qemuMonitorClose is called and no thread-local error is set. Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
11cb128f21
commit
cfa7ceab77
@ -928,6 +928,12 @@ void qemuMonitorClose(qemuMonitorPtr mon)
|
||||
virCondSignal(&mon->notify);
|
||||
}
|
||||
|
||||
/* Propagate existing monitor error in case the current thread has no
|
||||
* error set.
|
||||
*/
|
||||
if (mon->lastError.code != VIR_ERR_OK && !virGetLastError())
|
||||
virSetError(&mon->lastError);
|
||||
|
||||
virObjectUnlock(mon);
|
||||
virObjectUnref(mon);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user