On 06/22/2016 09:21 AM, Eric Blake wrote:
> On 06/22/2016 06:53 AM, Fam Zheng wrote:
>> And use it in qemu_dup_flags.
>>
>> Signed-off-by: Fam Zheng <[email protected]>
>> ---
>>  include/qemu/osdep.h |  3 +++
>>  util/osdep.c         | 23 +++++++++++++++--------
>>  2 files changed, 18 insertions(+), 8 deletions(-)
>>
> 
>> +int qemu_dup(int fd)
>> +{
>> +    int ret;
>> +#ifdef F_DUPFD_CLOEXEC
>> +    ret = fcntl(fd, F_DUPFD_CLOEXEC, 0);
>> +#else
>> +    ret = dup(fd);
>> +    if (ret != -1) {
>> +        qemu_set_cloexec(ret);
>> +    }
> 
> Is it any more efficient to try and use dup3(fd, 0, O_CLOEXEC), or are
> we assuming that F_DUPFD_CLOEXEC and dup3() are only likely to both be
> present or absent?

Scratch that. dup3() has different semantics than dup()/fcntl(F_DUPFD)
(overwrite destination fd vs. next available fd).  So no change to your
code after all.

> 
> Otherwise,
> Reviewed-by: Eric Blake <[email protected]>
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to