Re: [PATCH] Fix error report from nl_recvmsg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 28, 2013 at 04:24:17PM +0000, Daniel P. Berrange wrote:
> On Thu, Feb 28, 2013 at 04:16:37PM +0000, Daniel P. Berrange wrote:
[...]
> Oh joy, it is worse than you could possibly imagine.
> 
> On libnl1 the return value is a valid -errno, while in libnl3
> the return value is an error code of its own invention.
> 
> Further in libnl1 we can';t rely on the global errno, because
> other calls libnl does may have overritten it with garbage.
> We must use the return value from the function.
> 
> For yet more fun, libnl1's error handling is not threadsafe.
> Whenever it hits an error with a syscall, it internally
> runs  __nl_error() which mallocs/frees a static global
> variable containing the contents of strerror() which is
> itself also not threadsafe :-(
> 
> Did I mention we should just throw out all versions of libnl
> entirely and talk to the kernel ourselves..... It has caused
> us no end of pain in all its versions.

  No chance of educating them instead ? We can't rewrite everything :)

Daniel

-- 
Daniel Veillard      | Open Source and Standards, Red Hat
veillard@xxxxxxxxxx  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | virtualization library  http://libvirt.org/

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]