]> git.proxmox.com Git - qemu.git/commit - osdep.c
osdep: Fix runtime failure on older Linux kernels
authorAndre Przywara <andre.przywara@amd.com>
Fri, 18 Dec 2009 09:45:07 +0000 (10:45 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Fri, 18 Dec 2009 15:29:38 +0000 (16:29 +0100)
commit3a03bfa5a219fe06779706315f2555622b51193c
treeadb33d95e0af3c37bb869da20b6008bb0e1cf392
parentc1bb0dcef2d3a62c89cef81a0f1a0e5e97ef325b
osdep: Fix runtime failure on older Linux kernels

If QEMU finds newer kernel header files on compilation time, it will use
advertised features like pipe2 or SOCK_CLOEXEC by just doing a compile test.
If later the executables are executed on an older kernel (<2.6.27,
like Xen Dom0 2.6.18), then QEMU will fail on opening sockets and creating
pipes and returns the rather unspecific "qemu_init_main_loop failed".
This patch fixes this by checking the return values of these calls
for EINVAL and ENOSYS and falling back to the older versions automatically.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
osdep.c