mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: Implement qemuMonitorRegister()
Implement qemuMonitorRegister() as there is already a qemuMonitorUnregister() function. This way it may be easier to understand the code paths. Signed-off-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com> Reviewed-by: Bjoern Walk <bwalk@linux.vnet.ibm.com>
This commit is contained in:
parent
b8cc509882
commit
bae81da323
@ -837,15 +837,7 @@ qemuMonitorOpenInternal(virDomainObjPtr vm,
|
|||||||
|
|
||||||
|
|
||||||
virObjectLock(mon);
|
virObjectLock(mon);
|
||||||
virObjectRef(mon);
|
if (!qemuMonitorRegister(mon)) {
|
||||||
if ((mon->watch = virEventAddHandle(mon->fd,
|
|
||||||
VIR_EVENT_HANDLE_HANGUP |
|
|
||||||
VIR_EVENT_HANDLE_ERROR |
|
|
||||||
VIR_EVENT_HANDLE_READABLE,
|
|
||||||
qemuMonitorIO,
|
|
||||||
mon,
|
|
||||||
virObjectFreeCallback)) < 0) {
|
|
||||||
virObjectUnref(mon);
|
|
||||||
virObjectUnlock(mon);
|
virObjectUnlock(mon);
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("unable to register monitor events"));
|
_("unable to register monitor events"));
|
||||||
@ -944,6 +936,34 @@ qemuMonitorOpenFD(virDomainObjPtr vm,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* qemuMonitorRegister:
|
||||||
|
* @mon: QEMU monitor
|
||||||
|
*
|
||||||
|
* Registers the monitor in the event loop. The caller has to hold the
|
||||||
|
* lock for @mon.
|
||||||
|
*
|
||||||
|
* Returns true in case of success, false otherwise
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
qemuMonitorRegister(qemuMonitorPtr mon)
|
||||||
|
{
|
||||||
|
virObjectRef(mon);
|
||||||
|
if ((mon->watch = virEventAddHandle(mon->fd,
|
||||||
|
VIR_EVENT_HANDLE_HANGUP |
|
||||||
|
VIR_EVENT_HANDLE_ERROR |
|
||||||
|
VIR_EVENT_HANDLE_READABLE,
|
||||||
|
qemuMonitorIO,
|
||||||
|
mon,
|
||||||
|
virObjectFreeCallback)) < 0) {
|
||||||
|
virObjectUnref(mon);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
qemuMonitorUnregister(qemuMonitorPtr mon)
|
qemuMonitorUnregister(qemuMonitorPtr mon)
|
||||||
{
|
{
|
||||||
|
@ -296,6 +296,8 @@ qemuMonitorPtr qemuMonitorOpenFD(virDomainObjPtr vm,
|
|||||||
void *opaque)
|
void *opaque)
|
||||||
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(4);
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(4);
|
||||||
|
|
||||||
|
bool qemuMonitorRegister(qemuMonitorPtr mon)
|
||||||
|
ATTRIBUTE_NONNULL(1);
|
||||||
void qemuMonitorUnregister(qemuMonitorPtr mon)
|
void qemuMonitorUnregister(qemuMonitorPtr mon)
|
||||||
ATTRIBUTE_NONNULL(1);
|
ATTRIBUTE_NONNULL(1);
|
||||||
void qemuMonitorClose(qemuMonitorPtr mon);
|
void qemuMonitorClose(qemuMonitorPtr mon);
|
||||||
|
Loading…
Reference in New Issue
Block a user