• Ulrich Drepper's avatar
    [PATCH] dup3 fix · 3c333937
    Ulrich Drepper authored
    Al Viro notice one cornercase that the new dup3() code.  The dup2()
    function, as a special case, handles dup-ing to the same file
    descriptor.  In this case the current dup3() code does nothing at
    all.  I.e., it ingnores the flags parameter.  This shouldn't happen,
    the close-on-exec flag should be set if requested.
    
    In case the O_CLOEXEC bit in the flags parameter is not set the
    dup3() function should behave in this respect identical to dup2().
    This means dup3(fd, fd, 0) should not actively reset the c-o-e
    flag.
    
    The patch below implements this minor change.
    
    [AV: credits to Artur Grabowski for bringing that up as potential subtle point
    in dup2() behaviour]
    Signed-off-by: default avatarUlrich Drepper <drepper@redhat.com>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    3c333937
fcntl.c 14.3 KB