On 06/25/2012 09:34 AM, Kevin Wolf wrote:
Am 25.06.2012 16:51, schrieb Corey Bryant:
> Thanks for catching this. I'll fix this in v5. In terms of platforms
> that support dup3 vs dup2, I'm assuming the following preprocessor
> checks will do what we need:
>
> #if defined(__linux__) || defined(__CYGWIN__)
> dup3(fd, monfd->fd, O_CLOEXEC)
> #else
> dup2()+fcntl(F_GETFD/F_SETFD)
> #endif
Checking for dup3() in configure might be the better option. It's not
like it has been there forever, even on Linux.
Agreed. Furthermore, since dup3() has been proposed for addition into
POSIX[1], it won't be long before other platforms add it. Always favor
feature checks (a configure probe for dup3) over platform checks
(hard-coding the assumption that Linux and Cygwin are the only platforms
that will ever provide it).
[1]
http://austingroupbugs.net/view.php?id=411
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org