On Sun, Dec 02, 2018 at 23:10:13 -0600, Chris Venteicher wrote: > Qemu process code for capababilities doesn't use monitor callbacks and > defines empty callback functions. > > Allow NULL to be passed to qemuMonitorOpen for callbacks and remove the > empty functions from the QMP process code. > > Signed-off-by: Chris Venteicher <cventeic@xxxxxxxxxx> > --- > src/qemu/qemu_monitor.c | 4 ++-- > src/qemu/qemu_process.c | 14 +------------- > 2 files changed, 3 insertions(+), 15 deletions(-) > > diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c > index a65d638ab8..84065c59dc 100644 > --- a/src/qemu/qemu_monitor.c > +++ b/src/qemu/qemu_monitor.c > @@ -813,12 +813,12 @@ qemuMonitorOpenInternal(virDomainObjPtr vm, > { > qemuMonitorPtr mon; > > - if (!cb->eofNotify) { > + if (cb && !cb->eofNotify) { > virReportError(VIR_ERR_INTERNAL_ERROR, "%s", > _("EOF notify callback must be supplied")); > return NULL; > } > - if (!cb->errorNotify) { > + if (cb && !cb->errorNotify) { > virReportError(VIR_ERR_INTERNAL_ERROR, "%s", > _("Error notify callback must be supplied")); > return NULL; > diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c > index 1b6adf1b64..24945b1d17 100644 > --- a/src/qemu/qemu_process.c > +++ b/src/qemu/qemu_process.c > @@ -8095,18 +8095,6 @@ qemuProcessReconnectAll(virQEMUDriverPtr driver) > } > > > -static void virQEMUCapsMonitorNotify(qemuMonitorPtr mon ATTRIBUTE_UNUSED, > - virDomainObjPtr vm ATTRIBUTE_UNUSED, > - void *opaque ATTRIBUTE_UNUSED) > -{ > -} > - > -static qemuMonitorCallbacks callbacks = { > - .eofNotify = virQEMUCapsMonitorNotify, > - .errorNotify = virQEMUCapsMonitorNotify, > -}; > - > - > /** > * qemuProcessQmpFree: > * @proc: Stores Process and Connection State > @@ -8302,7 +8290,7 @@ qemuProcessQmpConnectMonitor(qemuProcessQmpPtr proc) > bool retry = true; > bool enableJson = true; > virQEMUDriverPtr driver = NULL; > - qemuMonitorCallbacksPtr monCallbacks = &callbacks; > + qemuMonitorCallbacksPtr monCallbacks = NULL; > virDomainXMLOptionPtr xmlopt = NULL; > virDomainChrSourceDef monConfig; So qemuMonitorOpenInternal would not report an error anymore, but qemuMonitorIO would just crash on error or eof. This doesn't sound like a change in the right direction, does it? Sure, we could make the code tolerant to NULL callbacks, but I think it's actually better to require the callbacks than covering possible programmer's errors. Drop this patch, please. Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list