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 ebl...@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature