Add last meaningful error preservation to virCHProcessStop.
Signed-off-by: Kirill Shchetiniuk <kshcheti(a)redhat.com>
---
src/ch/ch_process.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/ch/ch_process.c b/src/ch/ch_process.c
index 9a85f7869e..38d466eaeb 100644
--- a/src/ch/ch_process.c
+++ b/src/ch/ch_process.c
@@ -995,11 +995,15 @@ virCHProcessStop(virCHDriver *driver,
virCHDomainObjPrivate *priv = vm->privateData;
virCHDriverConfig *cfg = virCHDriverGetConfig(driver);
virDomainDef *def = vm->def;
+ virErrorPtr orig_err = NULL;
size_t i;
VIR_DEBUG("Stopping VM name=%s pid=%d reason=%d",
vm->def->name, (int)vm->pid, (int)reason);
+ /* Preserve origin error */
+ virErrorPreserveLast(&orig_err);
+
if (priv->monitor) {
g_clear_pointer(&priv->monitor, virCHMonitorClose);
}
@@ -1032,6 +1036,8 @@ virCHProcessStop(virCHDriver *driver,
virHostdevReAttachDomainDevices(driver->hostdevMgr, CH_DRIVER_NAME, def,
hostdev_flags);
+
+ virErrorRestore(&orig_err);
return 0;
}
--
2.48.1