There are several functions in virshInit which can fail, especially
when running win32 builds under WINE. Currently virsh just exits
without reporting what error happened.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
tools/virsh.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 31e23bd..90f8125 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -358,16 +358,22 @@ virshInit(vshControl *ctl)
/* set up the library error handler */
virSetErrorFunc(NULL, vshErrorHandler);
- if (virEventRegisterDefaultImpl() < 0)
+ if (virEventRegisterDefaultImpl() < 0) {
+ vshReportError(ctl);
return false;
+ }
- if (virThreadCreate(&ctl->eventLoop, true, vshEventLoop, ctl) < 0)
+ if (virThreadCreate(&ctl->eventLoop, true, vshEventLoop, ctl) < 0) {
+ vshReportError(ctl);
return false;
+ }
ctl->eventLoopStarted = true;
if ((ctl->eventTimerId = virEventAddTimeout(-1, vshEventTimeout, ctl,
- NULL)) < 0)
+ NULL)) < 0) {
+ vshReportError(ctl);
return false;
+ }
if (ctl->connname) {
/* Connecting to a named connection must succeed, but we delay
--
2.9.3
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On 04/19/2017 06:43 AM, Daniel P. Berrange wrote: > There are several functions in virshInit which can fail, especially > when running win32 builds under WINE. Currently virsh just exits > without reporting what error happened. > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > --- > tools/virsh.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > Why not a "goto error;" instead where error: does the vshReportError(ctl); return false; ACK either way John > diff --git a/tools/virsh.c b/tools/virsh.c > index 31e23bd..90f8125 100644 > --- a/tools/virsh.c > +++ b/tools/virsh.c > @@ -358,16 +358,22 @@ virshInit(vshControl *ctl) > /* set up the library error handler */ > virSetErrorFunc(NULL, vshErrorHandler); > > - if (virEventRegisterDefaultImpl() < 0) > + if (virEventRegisterDefaultImpl() < 0) { > + vshReportError(ctl); > return false; > + } > > - if (virThreadCreate(&ctl->eventLoop, true, vshEventLoop, ctl) < 0) > + if (virThreadCreate(&ctl->eventLoop, true, vshEventLoop, ctl) < 0) { > + vshReportError(ctl); > return false; > + } > ctl->eventLoopStarted = true; > > if ((ctl->eventTimerId = virEventAddTimeout(-1, vshEventTimeout, ctl, > - NULL)) < 0) > + NULL)) < 0) { > + vshReportError(ctl); > return false; > + } > > if (ctl->connname) { > /* Connecting to a named connection must succeed, but we delay > -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Wed, Apr 19, 2017 at 08:10:22PM -0400, John Ferlan wrote: > > > On 04/19/2017 06:43 AM, Daniel P. Berrange wrote: > > There are several functions in virshInit which can fail, especially > > when running win32 builds under WINE. Currently virsh just exits > > without reporting what error happened. > > > > Signed-off-by: Daniel P. Berrange <berrange@redhat.com> > > --- > > tools/virsh.c | 12 +++++++++--- > > 1 file changed, 9 insertions(+), 3 deletions(-) > > > > Why not a "goto error;" instead where error: does the > vshReportError(ctl); return false; > > ACK either way I realize I accidentally pushed this patch already yesterday when pushing the RBD build breaker fix. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2024 Red Hat, Inc.