On 02/28/2013 08:37 AM, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > > The nl_recvmsg does not always set errno. Instead it returns > its own custom set of error codes. Thus we were reporting the > wrong data. > --- > src/util/virnetlink.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c > index 0b36fdc..8b47ede 100644 > --- a/src/util/virnetlink.c > +++ b/src/util/virnetlink.c > @@ -335,8 +335,9 @@ virNetlinkEventCallback(int watch, > if (length == 0) > return; > if (length < 0) { > - virReportSystemError(errno, > - "%s", _("nl_recv returned with error")); > + virReportError(VIR_ERR_INTERNAL_ERROR, > + _("nl_recv returned with error: %s"), > + nl_geterror(length)); My recollection is that we specifically avoided calling nl_geterror() because it isn't threadsafe. I'll go take another look to verify. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list