VIR_LOG_INIT("bhyve.bhyve_process");
-static virDomainObjPtr
+static void
bhyveProcessAutoDestroy(virDomainObjPtr vm,
virConnectPtr conn ATTRIBUTE_UNUSED,
void *opaque)
virBhyveProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED);
- if (!vm->persistent) {
+ if (!vm->persistent)
virDomainObjListRemove(driver->domains, vm);
- vm = NULL;
- }
-
- return vm;
}
static void
#define START_POSTFIX ": starting up\n"
-static virDomainObjPtr
+static void
lxcProcessAutoDestroy(virDomainObjPtr dom,
virConnectPtr conn,
void *opaque)
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
priv->doneStopEvent = true;
- if (!dom->persistent) {
+ if (!dom->persistent)
virDomainObjListRemove(driver->domains, dom);
- dom = NULL;
- }
if (event)
virObjectEventStateQueue(driver->domainEventState, event);
-
- return dom;
}
/*
* qemuDomainMigrateBegin3 and qemuDomainMigratePerform3 or
* qemuDomainMigratePerform3 and qemuDomainMigrateConfirm3.
*/
-static virDomainObjPtr
+static void
qemuMigrationSrcCleanup(virDomainObjPtr vm,
virConnectPtr conn,
void *opaque)
priv->job.phase));
if (!qemuMigrationJobIsActive(vm, QEMU_ASYNC_JOB_MIGRATION_OUT))
- goto cleanup;
+ return;
VIR_DEBUG("The connection which started outgoing migration of domain %s"
" was closed; canceling the migration",
/* unreachable */
;
}
-
- cleanup:
- return vm;
}
}
-static virDomainObjPtr
+static void
qemuProcessAutoDestroy(virDomainObjPtr dom,
virConnectPtr conn,
void *opaque)
VIR_DEBUG("Killing domain");
if (qemuProcessBeginStopJob(driver, dom, QEMU_JOB_DESTROY, true) < 0)
- goto cleanup;
+ return;
qemuProcessStop(driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED,
QEMU_ASYNC_JOB_NONE, stopFlags);
qemuDomainObjEndJob(driver, dom);
qemuDomainEventQueue(driver, event);
-
- cleanup:
- return dom;
}
int qemuProcessAutoDestroyAdd(virQEMUDriverPtr driver,
* we're about to call the callback function and we have another
* ref anyway (so it cannot be deleted).
*
- * Call the callback function, ignoring the return since it might be
- * NULL. Once we're done with the object, then end the API usage. */
+ * Call the callback function and end the API usage. */
virObjectUnref(vm);
- ignore_value(list->entries[i].callback(vm, conn, opaque));
+ list->entries[i].callback(vm, conn, opaque);
virDomainObjEndAPI(&vm);
}
VIR_FREE(list->entries);
typedef struct _virCloseCallbacks virCloseCallbacks;
typedef virCloseCallbacks *virCloseCallbacksPtr;
-typedef virDomainObjPtr (*virCloseCallback)(virDomainObjPtr vm,
- virConnectPtr conn,
- void *opaque);
+typedef void (*virCloseCallback)(virDomainObjPtr vm,
+ virConnectPtr conn,
+ void *opaque);
virCloseCallbacksPtr virCloseCallbacksNew(void);
int virCloseCallbacksSet(virCloseCallbacksPtr closeCallbacks,
virDomainObjPtr vm,