On 02/08/2012 01:58 AM, Justin Clift wrote:
Hi all,
As a general thought, would anyone be interested in getting this weird '@'
thing in the bind address on OSX "fixed"?
The @ is merely a visual place-holder for the actual NUL byte being
written into the actual socket structure handed to the kernel. But you
are correct that:
Matthias mentioned it's due to using anonymous unix sockets, which
are only present on Linux:
https://www.redhat.com/archives/libvirt-users/2011-November/msg00018.html
Use of a NUL byte in the first byte of a socket address is a Linux-only
hack to get an anonymous socket namespace.
Guess that means libvirtd doesn't work on *BSD either?
Correct, for anywhere that libvirt currently uses an anonymous socket
(such as in qemu:///session).
Perhaps gnulib has a cross platform way to take care of this?
No. There's no way to fake anonymous namespace sockets if the kernel
does not have them. Rather, libvirt needs to have a graceful fallback
to something in the file system (perhaps under ~/.libvirt/...) on
platforms that don't have an anonymous socket namespace.
(Note, I could have sworn eblake started looking into this ages ago,
but then I moved on to the Aeolus team. Unsure if there was useful
progress back then. ?)
No, I haven't really done anything with this. Sorry.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org